<SEC-DOCUMENT>0001140361-24-014799.txt : 20240322
<SEC-HEADER>0001140361-24-014799.hdr.sgml : 20240322
<ACCEPTANCE-DATETIME>20240322162130
ACCESSION NUMBER:		0001140361-24-014799
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		77
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240322
DATE AS OF CHANGE:		20240322

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TANDY LEATHER FACTORY INC
		CENTRAL INDEX KEY:			0000909724
		STANDARD INDUSTRIAL CLASSIFICATION:	LEATHER & LEATHER PRODUCTS [3100]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				752543540
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		1900 SE LOOP 820
		CITY:			FT WORTH
		STATE:			TX
		ZIP:			76140
		BUSINESS PHONE:		8178723200

	MAIL ADDRESS:	
		STREET 1:		1900 SE LOOP 820
		CITY:			FT WORTH
		STATE:			TX
		ZIP:			76140

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	LEATHER FACTORY INC
		DATE OF NAME CHANGE:	19930723
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>ef20015300_10k.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:srt="http://fasb.org/srt/2023" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:cef="http://xbrl.sec.gov/cef/2023" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:tlfa="http://tandyleather.com/20231231" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title></title>
    <!-- Licensed to: Broadridge Financial Solutions, Inc.
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
    <meta http-equiv="Content-Type" content="text/html"/>
</head>

<body style="background-color: #ffffff; color: #000000;">
<div id="DSPFiXBRLHidden" style="display: none;"><ix:header><ix:hidden><ix:nonNumeric name="dei:AmendmentFlag" id="Fact_8bf0291e3c9f4362bd69e5fd1a92ea4f" contextRef="c20230101to20231231" format="ixt:fixed-false">false</ix:nonNumeric><ix:nonNumeric name="dei:CurrentFiscalYearEndDate" id="Fact_4b3f8f121d2846c587797564ef4a6e0d" contextRef="c20230101to20231231" format="ixt:date-month-day">12-31</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalYearFocus" id="Fact_7981f98485fc41129719da6221005d62" contextRef="c20230101to20231231">2023</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" id="Fact_93a35510a5c24da782b0a4430fa0f7c0" contextRef="c20230101to20231231">FY</ix:nonNumeric><ix:nonNumeric name="dei:EntityCentralIndexKey" id="Fact_320571d85909409698d3dbf027d2d0fe" contextRef="c20230101to20231231">0000909724</ix:nonNumeric><ix:nonFraction name="us-gaap:NumberOfOperatingSegments" id="Fact_084ff30487d54523a598a9e14e78cfd0" contextRef="c20230101to20231231" unitRef="U005" decimals="INF">1</ix:nonFraction><ix:nonFraction name="us-gaap:NumberOfReportableSegments" id="Fact_48fc0c1dc93f4cba8024c854b02a1b0e" contextRef="c20230101to20231231" unitRef="U005" decimals="INF">1</ix:nonFraction><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_5c4f4734e8fa4f9ab6d9ff25cd28ad7b" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MinimumMember">P3Y</ix:nonNumeric><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_af8ec3d5fde44ae9a32304dda2a30171" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MinimumMember">P7Y</ix:nonNumeric><ix:nonNumeric name="us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" id="Fact_42175b4cf694408b86a7f31b64515fcc" contextRef="c20221231">http://fasb.org/us-gaap/2023#OperatingLeaseRightOfUseAsset</ix:nonNumeric><ix:nonNumeric name="us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" id="Fact_b9dfdad94aae4396b495caba99b90ba2" contextRef="c20231231">http://fasb.org/us-gaap/2023#OperatingLeaseRightOfUseAsset</ix:nonNumeric><ix:nonNumeric name="us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" id="Fact_61204fcbee3a4dc2a55825352cedb41c" contextRef="c20221231">http://fasb.org/us-gaap/2023#FinanceLeaseRightOfUseAsset</ix:nonNumeric><ix:nonNumeric name="us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" id="Fact_191f13dfd1884c7da7e42218f7e403c9" contextRef="c20231231">http://fasb.org/us-gaap/2023#FinanceLeaseRightOfUseAsset</ix:nonNumeric><ix:nonNumeric name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Fact_55612db32bb54f3b80b4f633e166d69b" contextRef="c20231231">http://fasb.org/us-gaap/2023#OperatingLeaseLiabilityCurrent</ix:nonNumeric><ix:nonNumeric name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Fact_287013327779408883a177a55e96ea11" contextRef="c20221231">http://fasb.org/us-gaap/2023#OperatingLeaseLiabilityCurrent</ix:nonNumeric><ix:nonNumeric name="us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Fact_1d33cc9a62e44f4d9b50719282b6d98b" contextRef="c20231231">http://fasb.org/us-gaap/2023#FinanceLeaseLiabilityCurrent</ix:nonNumeric><ix:nonNumeric name="us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Fact_f125ff13c8854d999c5e5b95ee4888a9" contextRef="c20221231">http://fasb.org/us-gaap/2023#FinanceLeaseLiabilityCurrent</ix:nonNumeric><ix:nonNumeric name="us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="Fact_f6c46685d84545a9adea4c3de34eb85d" contextRef="c20221231">http://fasb.org/us-gaap/2023#OperatingLeaseLiabilityNoncurrent</ix:nonNumeric><ix:nonNumeric name="us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="Fact_6436e527f2fe40cbbec7271dc63c701e" contextRef="c20231231">http://fasb.org/us-gaap/2023#OperatingLeaseLiabilityNoncurrent</ix:nonNumeric><ix:nonNumeric name="us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="Fact_a6c6da4f95914e30a3b2331184d7a6ee" contextRef="c20231231">http://fasb.org/us-gaap/2023#FinanceLeaseLiabilityNoncurrent</ix:nonNumeric><ix:nonNumeric name="us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="Fact_ef3fa3de80ef4a7198d64162b5f1a16d" contextRef="c20221231">http://fasb.org/us-gaap/2023#FinanceLeaseLiabilityNoncurrent</ix:nonNumeric><ix:nonNumeric name="dei:SecurityExchangeName" id="Fact_9a97fbe122f9436babdec13084bdfb41" contextRef="c20230101to20231231">NASDAQ</ix:nonNumeric><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" id="Fact_1ac8c4637f934f6f9d83a4845eaaa13f" contextRef="c20231231" unitRef="U001" xsi:nil="true"/><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" id="Fact_d3052f1f6e2b4e8bb9ad01bbc3dfe611" contextRef="c20221231" unitRef="U001" xsi:nil="true"/><ix:nonNumeric name="dei:AuditorFirmId" id="Fact_5b62bdad4c83460289f86e36afe4fe07" contextRef="c20230101to20231231">410</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:href="tlfa-20231231.xsd" xlink:type="simple"/></ix:references><ix:resources><xbrli:context id="c20230101to20231231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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:context id="c20230630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240322"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-03-22</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20220101to20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20211231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20211231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20211231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231001to20231231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20231231_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementGeographicalAxis_ES"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_RestatementAxis_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</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="c20231231_BalanceSheetLocationAxis_OtherLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_BalanceSheetLocationAxis_OtherLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_BalanceSheetLocationAxis_OtherLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementGeographicalAxis_OtherCountriesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:OtherCountriesMember</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="c20230101to20231231_StatementGeographicalAxis_OtherCountriesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:OtherCountriesMember</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="c20220101to20221231_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><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="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><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="c20231231_PropertyPlantAndEquipmentByTypeAxis_BuildingAndBuildingImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</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="c20220101to20221231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</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="c20220101to20221231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</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="c20230101to20231231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</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="c20230101to20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_IntellectualPropertyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:IntellectualPropertyMember</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="c20220101to20221231_ProductOrServiceAxis_ShippingAndHandlingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</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="c20230101to20231231_ProductOrServiceAxis_ShippingAndHandlingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</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="c20221231_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_PropertyPlantAndEquipmentByTypeAxis_LandMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_PropertyPlantAndEquipmentByTypeAxis_BuildingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_BuildingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_PropertyPlantAndEquipmentByTypeAxis_LandMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementGeographicalAxis_ES"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20220101to20221231_IncomeStatementLocationAxis_ImpairmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">tlfa:ImpairmentExpenseMember</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="c20220101to20221231_IncomeStatementLocationAxis_OperatingExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OperatingExpenseMember</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="c20230101to20231231_IncomeStatementLocationAxis_OperatingExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OperatingExpenseMember</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="c20230101to20231231_IncomeStatementLocationAxis_ImpairmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">tlfa:ImpairmentExpenseMember</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="c20220101to20221231_AdjustmentsForNewAccountingPronouncementsAxis_AccountingStandardsUpdate201602Member_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201602Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</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="c20230101to20231231_IncomeStatementLocationAxis_InterestExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:InterestExpenseMember</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="c20220101to20221231_IncomeStatementLocationAxis_InterestExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:InterestExpenseMember</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="c20200401to20200630_DebtInstrumentAxis_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tlfa:InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230103_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tlfa:JPMorganChaseBankNAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tlfa:JPMorganChaseBankNAMember</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="c20230101to20231231_RetirementPlanTypeAxis_OneHundredPercentContributionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">tlfa:OneHundredPercentContributionMember</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="c20230101to20231231_RetirementPlanTypeAxis_FiftyPercentContributionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">tlfa:FiftyPercentContributionMember</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="c20220101to20221231_RetirementPlanTypeAxis_FiftyPercentContributionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">tlfa:FiftyPercentContributionMember</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="c20220101to20221231_RetirementPlanTypeAxis_OneHundredPercentContributionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">tlfa:OneHundredPercentContributionMember</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="c20230101to20231231_IncomeTaxAuthorityNameAxis_InternalRevenueServiceIRSMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</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="c20220101to20221231_IncomeTaxAuthorityNameAxis_InternalRevenueServiceIRSMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</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="c20220101to20221231_IncomeTaxAuthorityNameAxis_CanadaRevenueAgencyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</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="c20230101to20231231_IncomeTaxAuthorityNameAxis_TaxAuthoritySpainMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:TaxAuthoritySpainMember</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="c20230101to20231231_IncomeTaxAuthorityNameAxis_CanadaRevenueAgencyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</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="c20220101to20221231_IncomeTaxAuthorityNameAxis_TaxAuthoritySpainMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:TaxAuthoritySpainMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_FiveMajorCustomersMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tlfa:FiveMajorCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tlfa:TwoMajorCustomersMember</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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tlfa:TwoMajorCustomersMember</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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_FiveMajorCustomersMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tlfa:FiveMajorCustomersMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_FiveMajorCustomersMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tlfa:FiveMajorCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsPayableMember_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_TenMajorSuppliersMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">tlfa:TenMajorSuppliersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</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="c20230101to20231231_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_StatementGeographicalAxis_NonUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</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="c20230101to20231231_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsPayableMember_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_OneMajorSupplierMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">tlfa:OneMajorSupplierMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</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="c20130131_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2013-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230430_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20200630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</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="c20230101to20231231_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</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="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</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="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</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="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</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="c20231001to20231031_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20181001to20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheOneMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:PerformanceBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-10-01</xbrli:startDate><xbrli:endDate>2018-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20181001to20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheTwoMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:PerformanceBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-10-01</xbrli:startDate><xbrli:endDate>2018-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230601to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20181001to20181031_AwardTypeAxis_RestrictedStockUnitsRSUMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-10-01</xbrli:startDate><xbrli:endDate>2018-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20181001to20181031_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-10-01</xbrli:startDate><xbrli:endDate>2018-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20220601to20220630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheOneMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:PerformanceBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheTwoMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:PerformanceBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:PerformanceBasedRestrictedStockUnitsRSUsMember</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="c20221231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</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="c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</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="c20220101to20221231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</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="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20220101to20221231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</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="c20220808_RangeAxis_MaximumMember_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-08-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20200809_RangeAxis_MaximumMember_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-08-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20220411to20220411_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-11</xbrli:startDate><xbrli:endDate>2022-04-11</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20220701to20220731_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-07-01</xbrli:startDate><xbrli:endDate>2022-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20220411_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-04-11</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20220410_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-04-10</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="U001"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="U002"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="U003"><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="U004"><xbrli:measure>tlfa:Store</xbrli:measure></xbrli:unit><xbrli:unit id="U005"><xbrli:measure>tlfa:Segment</xbrli:measure></xbrli:unit><xbrli:unit id="U006"><xbrli:measure>tlfa:Discount</xbrli:measure></xbrli:unit><xbrli:unit id="U007"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="U008"><xbrli:measure>tlfa:Customer</xbrli:measure></xbrli:unit><xbrli:unit id="U009"><xbrli:measure>tlfa:Supplier</xbrli:measure></xbrli:unit><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_8df56d5cd4bf4ea989c12015a0670a4f" toRefs="Foot_009a4a80a1ae483fb2b7b892030c3176" linkRole="http://www.xbrl.org/2003/role/link"/><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_5dcc0f8de60c4e1bbeb75cb11d297bdc" toRefs="Foot_009a4a80a1ae483fb2b7b892030c3176" linkRole="http://www.xbrl.org/2003/role/link"/><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_37be379fe1374d12a515ceb410149b30" toRefs="Foot_009a4a80a1ae483fb2b7b892030c3176" linkRole="http://www.xbrl.org/2003/role/link"/><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_6cdfe11d126d4d1e8ef4e43a122aea7e" toRefs="Foot_009a4a80a1ae483fb2b7b892030c3176" linkRole="http://www.xbrl.org/2003/role/link"/><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_ff1898a55372465ba9093ae4f37d1c0d" toRefs="Foot_009a4a80a1ae483fb2b7b892030c3176" linkRole="http://www.xbrl.org/2003/role/link"/><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_4ec8663e4dcf4082813211b1a01c5d2a" toRefs="Foot_009a4a80a1ae483fb2b7b892030c3176" linkRole="http://www.xbrl.org/2003/role/link"/><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_f8ad39189f7643f7aa93d73a4950f192" toRefs="Foot_009a4a80a1ae483fb2b7b892030c3176" linkRole="http://www.xbrl.org/2003/role/link"/><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_0f93f93a199c462a913650dd69b6cca3" toRefs="Foot_009a4a80a1ae483fb2b7b892030c3176" linkRole="http://www.xbrl.org/2003/role/link"/><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_5071ea73c763433fb4d860bd5a65b10a" toRefs="Foot_009a4a80a1ae483fb2b7b892030c3176" linkRole="http://www.xbrl.org/2003/role/link"/><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_6732701e0f7445938fbbdd947b42d5bb" toRefs="Foot_009a4a80a1ae483fb2b7b892030c3176" linkRole="http://www.xbrl.org/2003/role/link"/><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_3876ad0c331343699155a9ee48dfd13f" toRefs="Foot_2c869902f56542bdb090045adf6c52f6" linkRole="http://www.xbrl.org/2003/role/link"/><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_a3b952f0d5044b4cbbc5d97f6c36846c" toRefs="Foot_2c869902f56542bdb090045adf6c52f6" linkRole="http://www.xbrl.org/2003/role/link"/></ix:resources></ix:header></div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <div style="text-align: center; font-size: 14pt; font-weight: bold; font-family: 'Times New Roman';">
          <hr style="border: none; border-bottom: 1px solid black; border-top: 4px solid black; height: 10px; color: #ffffff; background-color: #ffffff; text-align: center; margin-left: auto; margin-right: auto;"/>
<div>UNITED STATES</div>
</div>

        <div style="text-align: center; font-size: 14pt; font-weight: bold; font-family: 'Times New Roman';">SECURITIES AND EXCHANGE COMMISSION</div>

        <div style="text-align: center; font-size: 12pt; font-weight: bold; font-family: 'Times New Roman';">Washington, D.C. 20549</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: center; font-size: 18pt; font-family: 'Times New Roman';">FORM <ix:nonNumeric name="dei:DocumentType" id="Fact_ed83104645da4f5aa6c939a6edbac3da" contextRef="c20230101to20231231">10-K</ix:nonNumeric></div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">(Mark One)</div>

        <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" class="DSPFListTable">


  <tr>

    <td style="width: 28.8pt; vertical-align: top;"><ix:nonNumeric name="dei:DocumentAnnualReport" id="Fact_4e8252d5943944a18ac82d2a06dd770f" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9746;</ix:nonNumeric><br/>
              </td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div>ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</div>
              </td>

  </tr>


</table>
        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For the fiscal year ended <ix:nonNumeric name="dei:DocumentPeriodEndDate" id="Fact_19b62d2d66554e6f9dd8e473e29fc9d3" contextRef="c20230101to20231231" format="ixt:date-monthname-day-year-en">December 31, 2023</ix:nonNumeric></div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">OR</div>

        <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" class="DSPFListTable">


  <tr>

    <td style="width: 28.8pt; vertical-align: top;"><ix:nonNumeric name="dei:DocumentTransitionReport" id="Fact_2f9d15fd15c8456c93a48e24f827952e" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric><br/>
              </td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div>TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</div>
              </td>

  </tr>


</table>
        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For the transition period ________ to________</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div>
          <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 100%; vertical-align: top;">
                  <div style="text-align: justify;">Commission File Number <ix:nonNumeric name="dei:EntityFileNumber" id="Fact_350f559db66646c69a21a7d48eaa203f" contextRef="c20230101to20231231">1-12368</ix:nonNumeric></div>
                </td>

  </tr>


</table>
        </div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">
<div><img src="image00001.jpg" alt="graphic"/></div>

          <div><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 32px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; text-align: center; text-transform: none; white-space: normal; word-spacing: 0px; background-color: rgb(255, 255, 255); text-decoration: underline; display: inline ! important; float: none;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 24pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; text-align: center; text-transform: none; white-space: normal; word-spacing: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><ix:nonNumeric name="dei:EntityRegistrantName" id="Fact_36fc1c9754774315bcfd911c42c87fdb" contextRef="c20230101to20231231">TANDY LEATHER FACTORY, INC</ix:nonNumeric>.</span></span></div>

        </div>

        <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 49%; vertical-align: top;">
                <div style="text-align: center;"><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" id="Fact_413e0ec5b3bb417ebaebb386e7ecf12b" contextRef="c20230101to20231231" format="ixt-sec:stateprovnameen">Delaware</ix:nonNumeric><br/>
                </div>
              </td>

    <td style="width: 2%; vertical-align: top;">&#160;</td>

    <td style="width: 48.86%; vertical-align: top;">
                <div style="text-align: center;"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" id="Fact_96d756a6f548482685c5be207ef5fcd7" contextRef="c20230101to20231231">75-2543540</ix:nonNumeric><br/>
                </div>
              </td>

  </tr>

  <tr>

    <td style="width: 49%; vertical-align: top;">
                <div style="text-align: center;">(State or other jurisdiction of incorporation or organization)</div>
              </td>

    <td style="width: 2%; vertical-align: top;">&#160;</td>

    <td style="width: 48.86%; vertical-align: top;">
                <div style="text-align: center;">(I.R.S. Employer Identification No.)</div>
              </td>

  </tr>


</table>
        <div><br/>
        </div>

        <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 49%; vertical-align: top;">
                <div style="text-align: center;"><ix:nonNumeric name="dei:EntityAddressAddressLine1" id="Fact_8142d85b65e64d96bfd678eb0065d073" contextRef="c20230101to20231231">1900 Southeast Loop 820</ix:nonNumeric><br/>
                </div>
                <div style="text-align: center;"><ix:nonNumeric name="dei:EntityAddressCityOrTown" id="Fact_b4b8855d12fe44fa9d16fbb922333743" contextRef="c20230101to20231231">Fort Worth</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressStateOrProvince" id="Fact_d611ffe6bfd7435a88bc5a8adeefc15f" contextRef="c20230101to20231231" format="ixt-sec:stateprovnameen">Texas</ix:nonNumeric>&#160; <ix:nonNumeric name="dei:EntityAddressPostalZipCode" id="Fact_160cbfe456384ace8e535dd028854cde" contextRef="c20230101to20231231">76140</ix:nonNumeric></div>
              </td>

    <td style="width: 2%; vertical-align: top;">&#160;</td>

    <td style="width: 48.86%; vertical-align: top;">
                <div>&#160;</div>
                <div style="text-align: center;"><ix:nonNumeric name="dei:EntityAddressPostalZipCode" id="Fact_d528d7832a24484197842e77264fa4ee" contextRef="c20230101to20231231">76140</ix:nonNumeric><br/>
                </div>
              </td>

  </tr>

  <tr>

    <td style="width: 49%; vertical-align: top;">
                <div style="text-align: center;">(Address of Principal Executive Offices)</div>
              </td>

    <td style="width: 2%; vertical-align: top;">&#160;</td>

    <td style="width: 48.86%; vertical-align: top;">
                <div style="text-align: center;">(Zip Code)</div>
              </td>

  </tr>


</table>
        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="dei:CityAreaCode" id="Fact_8964d3d87bad4177af63cd91de82bfe3" contextRef="c20230101to20231231">817</ix:nonNumeric>-<ix:nonNumeric name="dei:LocalPhoneNumber" id="Fact_a9aad8e5c50b4442a61a205115796b1d" contextRef="c20230101to20231231">872-3200</ix:nonNumeric></div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">(Registrant&#8217;s telephone number, including area code)</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;">&#160;</div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Securities registered pursuant to Section 12(b) of the Act:</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 40%; vertical-align: top;">
                <div style="text-align: center;"><span style="text-decoration: underline;">Title of each class</span></div>
              </td>

    <td style="width: 20%; vertical-align: top;">
                <div style="text-align: center;"><span style="text-decoration: underline;">Trading Symbol</span></div>
              </td>

    <td style="width: 40%; vertical-align: top;">
                <div style="text-align: center;"><span style="text-decoration: underline;">Name of each exchange on which registered</span></div>
              </td>

  </tr>

  <tr>

    <td style="width: 40%; vertical-align: top;">
                <div style="text-align: center;"><ix:nonNumeric name="dei:Security12bTitle" id="Fact_c6e0f0cf62ec4e4e9eb417954ee9da1a" contextRef="c20230101to20231231">Common Stock, par value $0.0024</ix:nonNumeric><br/>
                </div>
              </td>

    <td style="width: 20%; vertical-align: top;">
                <div style="text-align: center;"><ix:nonNumeric name="dei:TradingSymbol" id="Fact_03ae28a215c34af3a9f42da3f303f729" contextRef="c20230101to20231231">TLF</ix:nonNumeric><br/>
                </div>
              </td>

    <td style="width: 40%; vertical-align: top;">
                <div style="text-align: center;"><span style="-sec-ix-hidden:Fact_9a97fbe122f9436babdec13084bdfb41">The Nasdaq Capital Market</span><br/>
                </div>
              </td>

  </tr>


</table>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
<div>
        Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.&#160; Yes &#9744;&#160; <ix:nonNumeric name="dei:EntityWellKnownSeasonedIssuer" id="Fact_b59769ecc00d4d398d16c8223ca0825e" contextRef="c20230101to20231231">No</ix:nonNumeric> &#9746;
        </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.&#160; Yes &#9744;&#160; <ix:nonNumeric name="dei:EntityVoluntaryFilers" id="Fact_4bae9787f87c493e94d6618606fcd4cd" contextRef="c20230101to20231231">No</ix:nonNumeric> &#9746;</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the
          preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.&#160; <ix:nonNumeric name="dei:EntityCurrentReportingStatus" id="Fact_513b2396c781413482f1224667192116" contextRef="c20230101to20231231">Yes</ix:nonNumeric> &#9746;<span style="color: rgb(0, 0, 0);"> </span>No &#9744;</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation
          S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). <ix:nonNumeric name="dei:EntityInteractiveDataCurrent" id="Fact_4a867c4430f344edac15fc1ddca76fbb" contextRef="c20230101to20231231">Yes</ix:nonNumeric> &#9746; No &#9744;</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, an emerging
          growth company.&#160; See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Large accelerated filer &#9744; Accelerated filer &#9744; <ix:nonNumeric name="dei:EntityFilerCategory" id="Fact_9a6ffb2e37364a5aa4e3ab38598b787a" contextRef="c20230101to20231231" format="ixt-sec:entityfilercategoryen">Non-accelerated filer</ix:nonNumeric>
          &#9746; Smaller reporting company <ix:nonNumeric name="dei:EntitySmallBusiness" id="Fact_c1575f517c9a4ebfbd08b139f961f63e" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9746;</ix:nonNumeric> Emerging growth company <ix:nonNumeric name="dei:EntityEmergingGrowthCompany" id="Fact_b125a8f344a14fa2bcf3fb30f1345c70" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised
          financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. <ix:nonNumeric name="dei:DocumentFinStmtErrorCorrectionFlag" id="Fact_496cd8f038a94d30a388b63a404bb6ad" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act).&#160; Yes <ix:nonNumeric name="dei:EntityShellCompany" id="Fact_76b354a42b424aa693710a788e1cf247" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric> No &#9746;</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Indicate by check mark whether the registrant has &#64257;led a report on and attestation to its management&#8217;s assessment of the e&#64256;ectiveness of its internal control over
          &#64257;nancial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting &#64257;rm that prepared or issued its audit report.&#160;&#160; <ix:nonNumeric name="dei:IcfrAuditorAttestationFlag" id="Fact_16ad7c8557c74963a84484c6d9299f52" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The aggregate market value of the common stock held by non-affiliates of the registrant was approximately $<ix:nonFraction name="dei:EntityPublicFloat" id="Fact_c456b20815724a8593f1b47bf02740de" contextRef="c20230630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">18,217,065</ix:nonFraction> at June 30, 2023 (based on the price at which the common stock was last traded on the last business day of its most recently completed second fiscal quarter).</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Indicate the number of shares outstanding of each of the registrant&#8217;s classes of common stock, as of the latest practicable date.&#160; As of March 22, 2024, there were <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" id="Fact_0b826ff7dcfd482db86a229f2d4d72af" contextRef="c20240322" unitRef="U002" decimals="INF" scale="0" format="ixt:num-dot-decimal">8,399,245</ix:nonFraction> shares of the registrant&#8217;s common stock outstanding.</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">DOCUMENTS INCORPORATED BY REFERENCE</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;">NONE</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;">
          <hr style="border: none; border-bottom: 4px solid black; border-top: 1px solid black; height: 10px; color: #ffffff; background-color: #ffffff; text-align: center; margin-left: auto; margin-right: auto;"/> </div>

        <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="page-break-after: always;" class="BRPFPageBreak">
            <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader"></div>

        </div>

        <!--PROfilePageNumberReset%LCR%2%%%--> </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div> <a id="TABLEOFCONTENTS"><!--Anchor--></a>
      <div>TABLE OF CONTENTS</div>

      <div>&#160;</div>

      <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-weight: bold;"><a href="#PARTI">PART I</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right; font-weight: bold;">3</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div><a href="#ITEM1.">ITEM 1.&#160; BUSINESS</a></div>
            </td>

    <td style="width: 6%; vertical-align: top;">
              <div style="text-align: right;">3</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div><a href="#ITEM1A.">ITEM 1A.&#160; RISK FACTORS</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right;">8<br/>
              </div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div><a href="#ITEM1B.">ITEM 1B.&#160; UNRESOLVED STAFF COMMENTS</a></div>
            </td>

    <td style="width: 6%; vertical-align: top;">
              <div style="text-align: right;">14<br/>
              </div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div><a href="#ITEM1C.">ITEM 1C.&#160; CYBERSECURITY</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right;">14<br/>
              </div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div><a href="#ITEM2.">ITEM 2.&#160; PROPERTIES</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; text-align: right;">15 <br/>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div><a href="#ITEM3.">ITEM 3.&#160; LEGAL PROCEEDINGS</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right;">17</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div><a href="#ITEM4.">ITEM 4.&#160; MINE SAFETY DISCLOSURES</a></div>
            </td>

    <td style="width: 6%; vertical-align: top;">
              <div style="text-align: right;">17</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-weight: bold;"><a href="#PARTII">PART II</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right; font-weight: bold;">18</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div><a href="#ITEM5.">ITEM 5.&#160; MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES</a></div>
            </td>

    <td style="width: 6%; vertical-align: top;">
              <div style="text-align: right;">18</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div><a href="#ITEM6.">ITEM 6.&#160; SELECTED FINANCIAL DATA</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right;">18</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div><a href="#ITEM7.">ITEM 7.&#160; MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</a></div>
            </td>

    <td style="width: 6%; vertical-align: top;">
              <div style="text-align: right;">19<br/>
              </div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div><a href="#ITEM8.">ITEM 8.&#160; CONSOLIDATED FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right;">27<br/>
              </div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div><a href="#ITEM9.">ITEM 9.&#160; CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</a></div>
            </td>

    <td style="width: 6%; vertical-align: top;">
              <div style="text-align: right;">53</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div><a href="#ITEM9A.">ITEM 9A.&#160; CONTROLS AND PROCEDURES</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right;">53</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div><a href="#ITEM9B">ITEM 9B.&#160; OTHER INFORMATION</a></div>
            </td>

    <td style="width: 6%; vertical-align: top;">
              <div style="text-align: right;">54</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-weight: bold;"><a href="#PARTIII">PART III</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right; font-weight: bold;">55</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div><a href="#ITEM10.">ITEM 10.&#160; DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE*</a></div>
            </td>

    <td style="width: 6%; vertical-align: top;">
              <div style="text-align: right;">55</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div><a href="#ITEM11.">ITEM 11.&#160; EXECUTIVE COMPENSATION*</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right;">55</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div><a href="#ITEM12.">ITEM 12.&#160; SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS*</a></div>
            </td>

    <td style="width: 6%; vertical-align: top;">
              <div style="text-align: right;">55</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div><a href="#ITEM13.">ITEM 13.&#160; CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE*</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right;">55</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div><a href="#ITEM14.">ITEM 14.&#160; PRINCIPAL ACCOUNTANT FEES AND SERVICES*</a></div>
            </td>

    <td style="width: 6%; vertical-align: top;">
              <div style="text-align: right;">55</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-weight: bold;"><a href="#PARTIV">PART IV</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right; font-weight: bold;">56</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div style="text-align: justify; font-weight: bold;"><a href="#EXHIBITINDEX">EXHIBIT INDEX</a></div>
            </td>

    <td style="width: 6%; vertical-align: top;">
              <div style="text-align: right; font-weight: bold;">57</div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div><a href="#ITEM16.">ITEM 16.&#160; FORM 10-K SUMMARY</a></div>
            </td>

    <td style="width: 6%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: right;">59<br/>
              </div>
            </td>

  </tr>

  <tr>

    <td style="width: 94%; vertical-align: top;">
              <div style="text-align: justify; font-weight: bold;"><a href="#SIGNATURES">SIGNATURES</a></div>
            </td>

    <td style="width: 6%; vertical-align: top;">
              <div style="text-align: right; font-weight: bold;">60<br/>
              </div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">ii</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <!--PROfilePageNumberReset%Num%3%%%--> <a id="PARTI"><!--Anchor--></a>
      <div style="font-weight: bold;">PART I</div>

      <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS"><br/>
        </a> </div>

      <div>
        <a id="ITEM1."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                <div style="text-align: left; font-weight: bold;">ITEM 1.</div>
              </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                <div style="font-weight: bold;">BUSINESS</div>
              </td>

  </tr>


</table>
      </div>

      <div>&#160;</div>

      <div style="text-align: justify; font-style: italic;">The following discussion, as well as other portions of this Form 10-K, contains forward-looking statements that reflect our plans, estimates and beliefs.&#160; Any such forward-looking statements
        (including, but not limited to, statements to the effect that Tandy Leather Factory, Inc. (&#8220;TLF&#8221;) or its management &#8220;anticipates,&#8221; &#8220;plans,&#8221; &#8220;estimates,&#8221; &#8220;expects,&#8221; &#8220;believes,&#8221; &#8220;intends,&#8221; and other similar expressions) that are not statements of
        historical fact should be considered forward-looking statements and should be read in conjunction with our Consolidated Financial Statements and related notes contained elsewhere in this report.&#160; These forward-looking statements are made based upon
        management&#8217;s current plans, expectations, estimates, assumptions and beliefs concerning future events impacting us and should be read carefully because they involve risks and uncertainties.&#160; We assume no obligation to update or otherwise revise
        these forward-looking statements, except as required by law.&#160; Specific examples of forward-looking statements include, but are not limited to, statements regarding our forecasts of financial performance, share repurchases, store openings or store
        closings, capital expenditures and working capital requirements.&#160; Our actual results could materially differ from those discussed in such forward-looking statements.&#160; Factors that could cause or contribute to such differences include, but are not
        limited to, those discussed below and elsewhere in this Form 10-K and particularly in &#8220;Item 1A. Risk Factors&#8221; and &#8220;Item 7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.&#8221;&#160; Unless the context otherwise
        indicates, references in this Form 10-K to &#8220;TLF,&#8221; &#8220;we,&#8221; &#8220;our,&#8221; &#8220;us,&#8221; the &#8220;Company,&#8221; &#8220;Tandy,&#8221; or &#8220;Tandy Leather&#8221; mean Tandy Leather Factory, Inc., together with its subsidiaries.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">General</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Tandy Leather Factory, Inc. (&#8220;TLF,&#8221; &#8220;we,&#8221; &#8220;our,&#8221; &#8220;us,&#8221; the&#8221; Company,&#8221; &#8220;Tandy,&#8221; or &#8220;Tandy Leather&#8221; mean Tandy Leather Factory, Inc., together with its subsidiaries) is one of the world&#8217;s largest specialty retailers of
        leather and leathercraft-related items.&#160; Founded in 1919 in Fort Worth, Texas, the Company introduced leathercrafting to millions of American and later Canadian and other international customers and has built a track record as the trusted source of
        quality leather, tools, hardware, supplies, kits and teaching materials for leatherworkers everywhere.&#160; Today, our mission remains to build on our legacy of inspiring the timeless art and trade of leatherworking.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">What differentiates Tandy from the competition is our high brand awareness and strong brand equity and loyalty, our network of retail stores that provides convenience, a high-touch customer service experience, and a
        hub for the local leathercrafting community, and our 100-year plus heritage.&#160; We believe that this combination of qualities is unique to Tandy and gives the brand competitive advantages that are difficult for others to replicate.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We sell our products primarily through company-owned stores and through orders generated from our global websites, and through direct account representatives in our commercial division.&#160; We produce leather lace, cut
        leather pieces and most of the do-it-yourself kits that are sold in our stores and on our websites.&#160; We also offer production services to our business customers such as cutting (&#8220;clicking&#8221;) and splitting and some assembly.&#160; We maintain our
        principal offices at 1900 Southeast Loop 820, Fort Worth, Texas 76140.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">The Company&#8217;s common shares currently trade on the Nasdaq Capital Market Group under the symbol &#8220;TLF.&#8221;</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">3</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="font-weight: bold;">Retail Fleet</div>

      <div>&#160;</div>

      <div style="text-align: justify;">The Company currently operates a total of 102 retail stores. There are 91 stores in the United States (&#8220;U.S.&#8221;), 10 stores in Canada and one store in Spain.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">All Tandy locations, other than our corporate headquarters (which includes our flagship store, corporate offices, distribution center, and production facility) are leased.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Business Strategy</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Tandy Leather has been introducing people to leatherworking for over 100 years.&#160; Our stores have been, and continue to be, our competitive advantage: where our consumers learn the craft in classes, open table, and
        from the expertise of our store staff, where they can touch, feel, and test the product, and where they can connect and commune with others passionate about leather.&#160; Our websites provide inspiration, detailed product descriptions and
        specifications, educational information and videos, and a convenient place to also purchase product &#8211; especially for those who are far from our retail stores, including a growing international customer base.&#160; For many of our retail and web
        customers, leatherworking evolves from a passion to a trade.&#160; Our commercial division is tailored to the needs of those customers who build businesses around leather.&#160; With dedicated direct account representatives, a direct-from-our-warehouse
        shipping model, volume-based competitive pricing, customized product development, assembly and pre-assembly services, we are building long-term, strategic relationships with our largest customers.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">With COVID-19 and restatement related impacts behind us, and with initiatives to improve our brand proposition and to build the foundation for a modern and efficient retail business taking hold, we believe we have
        made significant progress toward building a durable, profitable business model.&#160; Our cost of sales and operating expenses have stabilized, and we believe we have the structure, and the operating nimbleness, that can deliver operating profit and
        free cash flow even in the face of economic headwinds.&#160; Going forward, our strategy is to continue to manage our cost base and use of cash and focus on strengthening our sales by leveraging our competitive advantage of our retail stores.&#160; Improving
        our employee product knowledge, customer service level and community engagement as well as expanding workshop space in stores with machines are the highest priorities.&#160; We need to continue to give customers good reasons to visit stores, and an
        excellent return on their time investment when they do.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">COVID-19 and Economic Conditions</div>

      <div>&#160;</div>

      <div style="text-align: justify; color: rgb(0, 0, 0);">At the time of filing this Form 10-K, the American and world economies have largely recovered from effects of the COVID-19 pandemic but continue to be affected by a combination of factors arising
        from the continuing war in Ukraine, the more recent and worsening crisis in the Israel and the Middle East, and continued tensions between the U.S. and China. While inflation appears to be cooling, food, housing and transportation prices remain
        significantly higher than prior to the pandemic &#8211; that is not likely to change in the near term and could be further impacted by the global environment.&#160; The weakening labor market may relieve pressure on our ability to hire qualified employees,
        but recent wage gains are not likely to be reversed.&#160; Higher unemployment together with continued high interest rates may further dampen consumer demand and affect the Company&#8217;s future financial performance.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Customers</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Our customers fall into two broad categories: those who shop in retail stores and on our website (&#8220;Retail Customers&#8221;) and those whom we serve through our commercial division (&#8220;Commercial Customers&#8221;).&#160; Retail
        Customers range from hobbyists to institutions (schools, camps, and other groups) to small businesses.&#160; Affinity groups like Military and First Responders and smaller and larger businesses who purchase in our retail stores receive special pricing
        or general discounts.&#160; To be served through our commercial division, customers generally need to spend more than $20,000.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">4</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="font-weight: bold;">Merchandise</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We carry a wide assortment of products organized into a number of categories including leather, hand tools, hardware, kits, liquids, machines, and other supplies.&#160; We operate a production facility in Fort Worth,
        Texas, where we produce kits, thread lace, belt strips and straps, and Craftaid&#174; tooling templates, and provide some custom production services&#160; for commercial and business customers.&#160; The factory produces approximately 10% of our products.&#160; We
        distribute product under the Tandy Leather<sup>TM</sup>, Eco-Flo<sup>TM</sup>, Craftool<sup>TM</sup>, CraftoolPro<sup>TM</sup> and Dr. Jackson&#8217;s<sup>TM </sup>brands, along with our premium TandyPro&#174; line of products.&#160; We develop and invest in new
        products through the ideas and referrals of customers and store personnel as well as the analysis of trends in the market and sales performance at retail.&#160; In addition, we have been focused on broadening our assortment through strategic
        partnerships with key brands to drive category growth and better meet the needs of our customers.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Operations</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Information regarding net sales, gross profit, operating income, and total assets is included within Item 7, Management's Discussion and Analysis of Financial Condition and Results of Operations, and within Item 8,
        Financial Statements and Supplementary Data.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Our stores offer a broad selection of products combined with leathercraft expertise in a one-stop shop.&#160; Not only can customers purchase leather, related accessories and supplies necessary to complete their projects
        from a single source, but many of our store associates are also leathercrafters themselves and can provide suggestions and advice on our customers&#8217; projects.&#160; Customers value the expertise and high level of customer service from our store
        associates, the convenience of taking their purchases immediately, as well as the ability to touch, feel and choose their individual pieces of leather, an organic product in which each piece is unique.&#160; We also offer open workbenches where
        customers can work on projects together with the leathercrafting community, and test new tools and techniques.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Most of our stores range in size from 1,300 square feet to 9,000 square feet, with the average at approximately 3,500 square feet. Our Fort Worth flagship store is approximately 22,000 square feet.&#160; Stores are
        located in light industrial warehouse spaces or older strip shopping centers in proximity to major freeways or well-known crossroads.&#160; We believe that many of our customers view our stores as a destination: customers interested in leathercrafting
        seek us out, reducing the value of paying high rents for high foot-traffic locations.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Historically, we generate slightly more sales in the fourth quarter of each year due to the holiday shopping season (approximately 28-30% of annual sales), while the other three quarters average approximately 22-24%
        of annual sales each quarter.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Distribution</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Our stores receive the majority of their inventory from our central distribution center located in Fort Worth, Texas, in weekly or, increasingly, bi-monthly shipments, using third-party transportation providers.&#160;
        Occasionally, merchandise is shipped to stores directly from the vendor.&#160; We now fulfill all of our U.S. and many of our international web orders from our Fort Worth distribution center.&#160; Canada web orders are fulfilled out of our 10 Canada stores,
        and European web orders are fulfilled out of our Spain store.&#160; We have a global customer service team that handles web order inquiries and phone orders.&#160; Our goal is to optimize the tradeoff between the sales and market share we realize from having
        a broad product line against the safety stock required to support those items.&#160; We generally maintain higher inventories of imported or long-lead-time items to ensure a continuous supply. Increased product assortment and some supply chain
        disruptions over the past several years have put upward pressure on inventory, offset by better sell-throughs, test-and-learn buying, and strategic partnerships with vendors.&#160;&#160; We have been executing a number of strategic initiatives to test
        smaller quantities of new items online, buying into them only when we are certain of their success, to tailor product assortments to the needs of local customers in each store, and to ship directly from vendors to customers.&#160; We carry about 6,500
        stock-keeping units (SKUs) in our current product line and continue to refine both the line, the lead times and safety stock levels required to meet customer demand, online vs. in-store assortment, and overall total inventory levels needed to grow
        sales and market share.</div>

      <div style="text-align: justify;"> <br/>
      </div>

      <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">5</span></div>

        <div style="page-break-after: always;" class="BRPFPageBreak">
          <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="font-weight: bold;">Competition</div>
<div>
      &#160;
      </div>
<div style="text-align: justify;">
        <div style="text-align: justify;">
          <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Our competitors include smaller, independently-owned brick-and-mortar retailers, internet-based retailers including those selling on platforms like Amazon and
            eBay, national craft chains like Michaels Stores, Inc. and Hobby Lobby Stores, Inc., some wholesale-focused distributors, and two mid-sized competitors &#8211; Weaver Leather and Springfield Leather &#8211; who have one store and an online business.&#160;
            Virtually all of these competitors carry a more limited line of leathercraft products compared to Tandy.&#160; We are competitive on convenience, price, availability of merchandise, customer service, depth of our product line, and delivery time.&#160;
            Tandy Leather is the only multi-store chain specializing in leathercraft, which we believe provides a competitive advantage over internet-based retailers,&#160; the large general craft retailers, and the mid-sized competitors.&#160; We also believe that
            our large size relative to most competitors gives us an advantage in sourcing as well as deep product and leathercrafting expertise among our employees.</div>

          <div>&#160;</div>

        </div>

      </div>

      <div style="font-weight: bold;">Suppliers</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We purchase merchandise and raw materials from nearly 150 suppliers from the United States and approximately 20 foreign countries.&#160; In general, our 10 largest suppliers account for approximately 55% of our inventory
        purchases, and we had one supplier in 2023 who represented more than 10% of our purchases.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Because leather is sold internationally, market conditions abroad are likely to affect the price of leather in the U.S.&#160; Aside from increasing purchases when we anticipate price increases (or possibly delaying
        purchases if we foresee price declines), we do not attempt to hedge our inventory costs.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Our supply chain and vendor relationships remain strong.&#160; We are focused on continuing to align our product and sourcing strategies to elevate the overall quality, consistency, and agility to meet the diverse needs
        of our existing consumers and attract new ones to the brand.&#160; The most acute supply chain shocks resulting from the pandemic have mostly moderated, with increases in lead times, product costs and ocean freight costs flattening and even declining in
        some areas.&#160; However, trucking costs and reliability remain volatile and tight labor markets and rising wages continue to pressure costs across all areas.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Compliance with Environmental Laws</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Our compliance with federal, state and local environmental protection laws has not had, and is not expected to have, a material effect on our capital expenditures, earnings, or competitive position.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Employees</div>

      <div>&#160;</div>

      <div style="text-align: justify;">As of December 31, 2023, we employed 515 people, 389 of whom were employed on a full-time basis.&#160; We are not a party to any collective bargaining agreements.&#160; Overall, we believe that relations with employees are
        good.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Intellectual Property</div>

      <div>&#160;</div>

      <div style="text-align: justify;">The Company owns all the material trademark rights used in connection with the production, marketing, distribution and sale of all Tandy-branded products.&#160; In addition, we license a limited number of our trademarks
        and copyrights used in connection with the production, marketing and distribution of certain categories of goods and limited edition co-branded projects.&#160; Major trademarks include federal trade name registrations for &#8220;Tandy Leather Factory,&#8221; &#8220;Tandy
        Leather Company,&#8221; and &#8220;Tandy.&#8221;&#160; The Company is not dependent on any one particular trademark or design patent, although it believes that the &#8220;Tandy&#8221; and &#8220;Tandy Leather&#8221; names are important for its business.&#160; In addition, Tandy owns several patents
        for specific belt buckles and leather-working equipment.&#160; Tandy polices its trademarks and trade dress and where appropriate pursues infringers.&#160; The Company expects that its material trademarks will remain in full force and effect for as long as
        we continue to use and renew them.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">6</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="font-weight: bold;">Foreign Sales</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Information regarding our sales from the United States and abroad and our long-lived assets is found in Note 2, <span style="font-style: italic;">Significant Accounting Policies: Revenue Recognition</span> and Note
        3, <span style="font-style: italic;">Balance Sheet Components</span>, of the Notes to the Consolidated Financial Statements.&#160; For a description of some of the risks related to our foreign operations, see Item 1A, <span style="font-style: italic;">Risk





          Factors</span>.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Available Information</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We file reports with the SEC. These reports include our Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K and any amendments to these filings.&#160; These reports are available on
        the Securities and Exchange Commission&#8217;s website at <span style="text-decoration: underline;">www.sec.gov.</span></div>

      <div>&#160;</div>

      <div style="text-align: justify;">Our corporate website is located at www.tandyleather.com.&#160; We make copies of our Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K, proxy statements and any amendments thereto
        filed with or furnished to the SEC available to investors on or through our website free of charge as soon as reasonably practicable after we electronically file them with or furnish them to the SEC.&#160; Our SEC filings can be found on the Investor
        Relations page of our website through the &#8220;SEC Filings&#8221; link.&#160; In addition, certain other corporate governance documents are available on our website through the &#8220;Corporate Governance&#8221; link.&#160; No information contained on any of our websites is
        intended to be included as part of, or incorporated by reference into, this Form 10-K.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Information about our Executive Officers</div>

      <div>&#160;</div>

      <div style="text-align: justify;">The following table sets forth information concerning our executive officers as of December 31, 2023:</div>

      <div>&#160;</div>

      <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 17%; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Name</div>
            </td>

    <td style="width: 4%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 7%; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Age</div>
            </td>

    <td style="width: 4%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 35%; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Executive </div>
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Since</div>
            </td>

    <td style="width: 4%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 29.27%; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Position</div>
            </td>

  </tr>

  <tr>

    <td style="width: 17%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="text-align: center; color: rgb(0, 0, 0);">Janet Carr</div>
            </td>

    <td style="width: 4%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 7%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="text-align: center; color: rgb(0, 0, 0);">62</div>
            </td>

    <td style="width: 4%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="text-align: center; color: rgb(0, 0, 0);">2018</div>
            </td>

    <td style="width: 4%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 29.27%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Chief Executive Officer</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify;"><span style="font-weight: bold;">Janet Carr</span> has served as our Chief Executive Officer and as a member of our Board of Directors since October 2018.&#160; Prior to her current role, Ms. Carr served as the Senior
        Vice-President of Global Business Development for Caleres Inc. (formerly Brown Shoe Company Inc.) from 2016 to 2017.&#160; While there, she was responsible for international wholesale and retail for all of their brands.&#160; Prior to Caleres, Ms. Carr was
        the President of the Handbag Division of Nine West Group Inc. from 2013 to 2014, where she was responsible for all aspects of design, development and sales in both wholesale and retail.&#160; Ms. Carr has deep experience in strategy and consumer
        insights in various roles at a number of prominent retailers, including Tapestry, Inc. (formerly Coach, Inc.), Gap Inc. and Safeway.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">7</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div>
        <a id="ITEM1A."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                <div style="text-align: left; font-weight: bold;">ITEM 1A.</div>
              </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                <div style="font-weight: bold;">RISK FACTORS</div>
              </td>

  </tr>


</table>
      </div>

      <div>&#160;</div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Risks Related to our Business and Business Strategy</span></div>

      <div>&#160;</div>

      <div style="text-align: justify; font-weight: bold;">The successful execution of our multi-year transformation and operational efficiency initiatives is key to the long-term growth of our business.</div>

      <div style="text-align: justify;">The Company continues to implement a large number of initiatives to transform the Company&#8217;s business, improve sales long term and improve operational efficiency.&#160; These include the realignment of the Company&#8217;s retail
        division management structure, the closing of underperforming stores, the formation of a new division focused on serving commercial customers, pricing and marketing initiatives, systems improvements, and other changes.&#160; The Company believes that
        long-term growth will be realized through these transformational efforts over time, however there is no assurance that such efforts will be successful.&#160; Actual costs incurred and the timeline of these initiatives may differ from our expectations.&#160;
        If these initiatives are unsuccessful, our business, financial condition and results of operation could be materially adversely affected.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-weight: bold;">Our business is subject to the risks inherent in global sourcing activities.</div>

      <div style="text-align: justify;">As a Company engaged in sourcing on a global scale, we are subject to the risks inherent in such activities, including, but not limited to:</div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>unavailability of, or significant fluctuations in the cost of, raw materials;</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>disruptions or delays in shipments;</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>loss or impairment of key assembly or distribution sites, which also could result in a former manufacturer beginning to produce similar products that compete with ours;</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>inability to engage new independent manufacturers that meet the Company&#8217;s cost-effective sourcing model;</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>product quality issues;</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>compliance by us and our independent manufacturers and suppliers with labor laws and other foreign governmental regulations;</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>imposition of additional duties, taxes, and other charges on imports or exports;</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>embargoes against products originating in countries from which we source;</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>increases in the cost of labor, fuel (including volatility in the price of oil), travel and transportation;</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>compliance by our independent manufacturers and suppliers with our Code of Business Conduct and Ethics and our Animal Welfare Policy;</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>political unrest;</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>unforeseen public health crises, such as pandemic (e.g., the COVID-19 pandemic) and epidemic diseases;</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>natural disasters or other extreme weather events, whether as a result of climate change or otherwise; and</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>acts of war or terrorism and other external factors over which we have no control.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-weight: bold;">Increases in the price of leather and other items we sell or a reduction in availability of those products could increase our cost of goods and decrease our profitability.</div>

      <div style="text-align: justify;">The prices we pay our suppliers for our products are dependent in part on the market price for leather, metals, and other products.&#160; The cost of these items may fluctuate substantially, depending on a variety of
        factors, including demand, supply conditions, transportation and fuel costs, government regulation, economic climates, war or other political considerations, and other unpredictable factors.&#160; Leather prices worldwide have been relatively stable for
        the past several years although the outlook for future prices is uncertain.&#160; Increases in these costs, together with other factors, would make it difficult for us to sustain the gross margin level we have achieved in recent years and result in a
        decrease in our profitability unless we are able to pass higher prices on to our customers or reduce costs in other areas.&#160; Changes in consumers&#8217; product preferences or lack of acceptance of our products whose costs have increased may prohibit us
        from passing those increases on to customers, which could cause our gross margin to decline.&#160; If our product costs increase and our sale prices do not, our future operating results could be adversely affected unless we are able to offset such gross
        margin declines with comparable reductions in operating costs.&#160; Accordingly, such increases in costs could adversely affect our business and our results of operations.</div>

      <div style="text-align: justify;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">8</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="text-align: justify;">Further, involvement by the United States in war and other military operations abroad could disrupt international trade and affect our inventory sources.&#160; Finally, livestock diseases, such as mad cow, could reduce
        the availability of hides and leathers or increase their cost.&#160; The occurrence of any of these events could adversely affect our business and our results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-weight: bold;">We are subject to risks associated with leasing retail space under long-term and non-cancelable leases.&#160; We may be unable to renew leases on acceptable terms.&#160; If we close a leased retail space, we
        might remain obligated under the applicable lease.</div>

      <div style="text-align: justify;">We lease the majority of our retail store locations under long-term, non-cancelable leases, which have initial or renewed terms typically ranging from three years to ten years and may include lease renewal options.&#160;
        We believe that most of the lease agreements we will enter into in the future will likely be long-term and non-cancelable.&#160; Generally, our leases are &#8220;net&#8221; leases, which require us to pay our proportionate share of the cost of insurance, taxes,
        maintenance, and utilities.&#160; We generally cannot cancel these leases at our option.&#160; If we determine that it is no longer economical to operate a retail store subject to a lease and decide to close it, as we have done in the past and will do in the
        future, we would generally remain obligated under the applicable lease for, among other things, payment of the base rent, common charges, and other net payments for the balance of the lease term.&#160; In some instances, we may be unable to close an
        underperforming retail store without a significant financial penalty due to continuous operation clauses in our lease agreements.&#160; In addition, as each of our leases expire, we may be unable to negotiate renewals, either on commercially acceptable
        terms or at all, which could cause us to close retail stores in desirable locations.&#160; Our inability to secure desirable retail space or favorable lease terms could impact our ability to grow.&#160; Likewise, our obligation to continue making lease
        payments in respect of leases for closed retail spaces could have a material adverse effect on our business, financial condition and results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-weight: bold;">We may be unable to sustain our financial performance or our past growth, which could have a material adverse effect on our future operating results.</div>

      <div style="text-align: justify;">In 2020, we experienced declines in sales and operating income primarily resulting from the COVID-19 pandemic.&#160; In 2023, we also experienced declines primarily resulting the longer-term economic effects of COVID-19
        (higher food, housing and transportation costs, higher interest rates, lower government subsidies) and the added economic impact of the war in Ukraine and now the Middle East.&#160; Many other specialty retailers have experienced declining sales and
        losses due to the overall challenging retail environment.&#160; Our sales and profits may continue to be negatively affected in the future.&#160; We anticipate that our financial performance will depend on a number of factors, including consumer preferences,
        the strength and protection of our brand, the introduction of new products, and the success of our business strategy.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-weight: bold;">Competition, including internet-based competition, could negatively impact our business.</div>

      <div style="text-align: justify;">The retail industry is competitive, which could result in the reduction of our prices and loss of our market share. We must remain competitive in the areas of quality, price, breadth of selection, customer service,
        and convenience.&#160; We compete with smaller retailers focused on leather and leather crafting, some of whom have been able to offer competitive products at lower prices than ours.&#160; We also compete with larger specialty retailers (e.g., Michaels
        Stores, Inc. and Hobby Lobby Stores, Inc.) that dedicate a small portion of their selling space to products that compete with ours but are larger and have greater financial resources than we do.&#160; The Company also faces competition from
        internet-based retailers, in addition to traditional store-based retailers.&#160; This could result in increased price competition since our customers can more readily search and compare products from internet-based retailers who do not need to support
        a physical store fleet and may be able to undercut our prices for products.&#160; The growth of internet retailers has also significantly reduced traffic to many shopping centers and physical stores, which, if not countered by an increase in our own
        online retailing, could have a material adverse effect on our in-store or overall sales.</div>

      <div style="text-align: justify;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">9</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="text-align: justify; font-weight: bold;">Declines in foot traffic in our retail store locations could negatively impact our sales and profits.</div>

      <div style="text-align: justify;">The success of our retail stores is affected by (1) the location of the store within its community or shopping center; (2) surrounding tenants or vacancies; (3) increased competition in areas where shopping centers
        are located; (4) the amount spent on advertising and promotion to attract consumers to the stores; and (5) a shift towards online shopping resulting in a decrease in retail store traffic.&#160; Many of our stores are located in light industrial areas,
        where foot traffic tends to be lower than in traditional retail shopping areas.&#160; Furthermore, our initiatives to service our larger customers through a dedicated Commercial Program rather than primarily through local stores may also lead to a
        decline in the traffic to our store locations.&#160; Declines in consumer traffic could have a negative impact on our net sales and could materially adversely affect our financial condition and results of operations.&#160; Furthermore, declines in traffic
        could result in store impairment charges if expected future cash flows of the related asset group do not exceed the carrying value.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-weight: bold;">Our business could be harmed if we are unable to maintain our brand image.</div>

      <div style="text-align: justify;">Tandy Leather is one of the most recognized brand names in our industry.&#160; Our success to date has been due in large part to the strength of that brand.&#160; If we are unable to provide quality products and exceptional
        customer service to our customers, including education, which Tandy Leather has traditionally been known for, our brand name may be impaired which could adversely affect our operating results.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-weight: bold;">Changes in customer demand could materially adversely affect our sales, results of operations and cash flow.</div>

      <div style="text-align: justify;">Our success depends on our ability to anticipate and respond in a timely manner to changing customer demands and preferences for leather and leathercraft-related items.&#160; If we misjudge the market, we might
        significantly overstock unpopular products and be forced to take significant inventory markdowns, or experience shortages of key items, either of which could have a material adverse impact on our operating results and cash flow.&#160; In addition,
        adverse weather conditions, economic or political instability and consumer confidence volatility could have material adverse impacts on our sales and operating results.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-weight: bold;">Our success depends, in part, on attracting, developing and retaining qualified employees, including key personnel.</div>

      <div style="text-align: justify;">The ability to successfully execute our goals is heavily dependent on attracting, developing and retaining qualified employees, including our senior management team.&#160; Competition in our industry to attract and retain
        these employees is intense and is influenced by our ability to offer competitive compensation and benefits, employee morale, our reputation, recruitment by other employers, perceived internal opportunities, non-competition and non-solicitation
        agreements and macro unemployment rates.</div>

      <div><br/>
      </div>

      <div style="text-align: justify;">We depend on the guidance of our senior management team and other key employees who have significant experience and expertise in our industry and our operations.&#160; The unexpected loss of one or more of our key
        personnel or any negative public perception with respect to these individuals could have a material adverse effect on our business, results of operations and financial condition.&#160; We do not maintain key-person or similar life insurance policies on
        any of senior management team or other key personnel.</div>

      <div><br/>
      </div>

      <div><span style="font-weight: bold;">Disruptions in the operation of our Fort Worth distribution center or assembly facility due to disease, including COVID-19, natural disaster, fire, or other crises, could have an adverse effect on our ability to
          supply our retail stores, fulfill web orders and/or manufacture product, resulting in possible decreases in sales and margin.</span> </div>

      <div><span style="font-weight: bold;"> <br/>
        </span></div>

      <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">10</span></div>

        <div style="page-break-after: always;" class="BRPFPageBreak">
          <hr style="border-width: 0px; clear: both; margin-top: 4px; margin-bottom: 4px; width: 100%; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="text-align: justify;">We are dependent on a limited number of distribution and sourcing centers, primarily the center located at our Fort Worth, Texas headquarters.&#160; Our ability to meet the needs of our customers and our retail stores and
        e-commerce sites depends on the proper operation of these centers.&#160; If any of these centers were to shut down or otherwise become inoperable or inaccessible for any reason, we could suffer a substantial loss of inventory and/or disruptions of
        deliveries to our retail and wholesale customers.&#160; While we have business continuity and contingency plans for our sourcing and distribution center sites, significant disruption of assembly or distribution for any of the above reasons could
        interrupt product supply, result in a substantial loss of inventory, increase our costs, disrupt deliveries to our customers and our retail stores, and, if not remedied in a timely manner, could have a material adverse impact on our business.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Risks Related to Cash Flow and Capitalization</span></div>

      <div>&#160;</div>

      <div style="text-align: justify; font-weight: bold;">If our cash from operations falls short and we are unable to raise additional working capital, we might be unable to fully fund our operations or to otherwise execute our business plan.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Historically, the Company has funded its business primarily with cash from operations and has utilized only small lines of working capital for seasonal expenditures.&#160; &#160; In 2023, we obtained a line of credit facility
        through JP Morgan Chase Bank to provide working capital as needed; as of the date of this report, we have not borrowed any amounts under this facility.&#160; However, should (1) our costs and expenses prove to be greater than we currently anticipate, or
        (2) seasonal fluctuations in sales or inventory purchases result in needing additional capital, and (3) we are unable to borrow sufficient short- or long-term capital, the depletion of our working capital would be accelerated and could leave us
        unable to make required payments.&#160; We may also seek capital through the private issuance of debt or equity securities. We cannot guarantee that we will be able to secure all of the additional cash or working capital we might require to continue our
        operations.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Risks Related to Technology, Data Security and Privacy</span></div>

      <div>&#160;</div>

      <div style="text-align: justify; font-weight: bold;">Failure to protect the integrity and security of personal information of our customers and employees could result in substantial costs, expose us to litigation and damage our reputation.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We receive and maintain certain personal, financial, and other information about our customers, employees, and vendors.&#160; In addition, our vendors receive and maintain certain personal, financial, and other
        information about our employees and customers.&#160; The use and transmission of this information is regulated by evolving and increasingly demanding laws and regulations across various jurisdictions.&#160; If our security and information systems are
        compromised as a result of data corruption or loss, cyber-attack or a network security incident or if our employees or vendors fail to comply with these laws and regulations and this information is obtained by unauthorized persons or used
        inappropriately, it could result in liabilities and penalties and could damage our reputation, cause us to incur substantial costs and result in a loss of customer confidence, which could materially affect our results of operations and financial
        condition.&#160; Additionally, we could be subject to litigation and government enforcement actions because of any such failure.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Further, data privacy is subject to frequently changing rules and regulations, which sometimes conflict among the various jurisdictions and countries where we operate.&#160; For example, the General Data Protection
        Regulation (&#8220;GDPR&#8221;), which was adopted by the European Union effective May 2018, requires companies to meet new requirements regarding the handling of personal data.&#160; In addition, the State of California enacted the California Consumer Privacy Act
        (the &#8220;CCPA&#8221;), which became effective January 2020 and requires companies that process information on California residents to, among other things, provide new disclosures and options to consumers about data collection, use and sharing practices.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">11</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="text-align: justify;">Moreover, each of the GDPR and the CCPA confer a private right-of-action on certain individuals and associations.&#160; Our failure to adhere to or successfully implement appropriate processes to adhere to the
        requirements of GDPR, CCPA and other evolving laws and regulations in this area could result in financial penalties, legal liability and could damage our reputation, which could have a material adverse effect on our business, financial condition
        and results of operations.</div>

      <div>&#160;</div>

      <div style="text-align: justify; font-weight: bold;">A cybersecurity incident and other technology disruptions could negatively affect our business and our relationships with customers.</div>

      <div><br/>
      </div>

      <div style="text-align: justify;">We use technology in substantially all aspects of our business operations.&#160; The widespread use of technology, including mobile devices, cloud computing, and the internet, gives rise to cybersecurity risks, including
        security breaches, espionage, system disruption, theft and inadvertent release of information.&#160; Our business involves the storage and transmission of numerous classes of sensitive and/or confidential information and intellectual property, including
        information relating to customers and suppliers, private information about employees, and financial and strategic information about us and our business partners.&#160; The Company has implemented measures to prevent cybersecurity breaches and incidents,
        as described in Item 1C below.&#160; However, we cannot guarantee that these preventative measures and incident response efforts will be entirely effective.&#160; If we fail to effectively assess and identify cybersecurity risks associated with the use of
        technology in our business operations, we may become increasingly vulnerable to such risks.&#160; The theft, destruction, loss, misappropriation, or release of sensitive and/or confidential information or intellectual property, or interference with our
        information technology systems or the technology systems of third parties on which we rely, could result in business disruption, negative publicity, brand damage, violation of privacy laws, loss of customers, potential liability and competitive
        disadvantage.</div>

      <div>&#160;</div>

      <div style="text-align: justify; font-weight: bold;">Unreliable or inefficient information technology or the failure to successfully implement or invest in technology initiatives in the future could adversely impact operating results.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We rely heavily on information technology systems in the conduct of our business, some of which are managed, and/or hosted by third parties, including, for example, point-of-sale processing in our stores, management
        of our supply chain, and various other processes and procedures.&#160; These systems are subject to damage, interruption or failure due to theft, fire, power outages, telecommunications failure, computer viruses, security breaches, malicious
        cyber-attacks or other catastrophic events.&#160; Certain technology systems may also be unreliable or inefficient, and technology vendors may limit or terminate product support and maintenance, which could impact the reliability of critical systems
        operations.&#160; If our information technology systems are damaged or fail to function properly, we may incur substantial costs to repair or replace them and may experience loss of critical data and interruptions or delays in our ability to manage
        inventories or process transactions, which could result in lost sales, customer or employee dissatisfaction, or negative publicity that could negatively impact our reputation, results of operations and financial condition.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Moreover, our failure to adequately invest in new technology or adapt to technological developments and industry trends, particularly with respect to digital commerce capabilities, could result in a loss of customers
        and related market share.&#160; If our digital commerce platforms do not meet customers&#8217; expectations in terms of security, speed, attractiveness or ease of use, customers may be less inclined to return to such digital commerce platforms, which could
        negatively impact our business.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">12</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Risks Related to the Macroeconomic Environment</span></div>

      <div>&#160;</div>

      <div style="text-align: justify; font-weight: bold;">Our business may be negatively impacted by general economic conditions in the United States and abroad.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Our performance is subject to global economic conditions and their impact on levels of consumer spending that affect not only the ultimate consumer, but also small businesses and other retailers.&#160; Specialty retail,
        and retail in general, is heavily influenced by general economic cycles.&#160; Specifically, at the time of filing this Form 10-K, the American and world economies have been acutely affected by a combination of factors resulting from both the COVID-19
        pandemic and the war resulting from the invasion of Ukraine by Russian military forces.&#160; The current impacts of these events include (but are not limited to) levels of inflation that are the highest in the U.S. in more than 40 years, fuel prices at
        or near record highs, an extremely tight labor market with rising wages and competition to attract qualified workers, rising real estate prices and increases in interest rates.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Purchases of non-essential, discretionary products tend to decline in periods (such as the current one) of recession or uncertainty regarding future economic prospects, as disposable income declines.&#160; During these
        periods of economic uncertainty, we may not be able to maintain or increase our sales to existing customers, make sales to new customers, open and operate new stores, maintain sales levels at our existing stores, maintain or increase our
        international operations on a profitable basis, maintain our earnings from operations as a percentage of net sales, or generate sufficient cash flows to fund our operational and liquidity needs.&#160; As a result, our operating results may be adversely
        and materially affected by continued downward trends or uncertainty in the United States or global economies.</div>

      <div>&#160;</div>

      <div style="text-align: justify; font-weight: bold;">Foreign currency fluctuations could adversely impact our financial condition and results of operations.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We generally purchase our products in U.S. dollars.&#160; However, we source a large portion of our products from countries other than the United States.&#160; The cost of these products may be affected by changes in the value
        of the applicable currencies.&#160; Changes in currency exchange rates may also affect the U.S. dollar value of the foreign currency denominated sales that occur in other countries (currently Canada and the European Union).&#160; This revenue, when
        translated into U.S. dollars for consolidated reporting purposes, could be materially affected by fluctuations in the U.S. dollar, negatively impacting our results of operations and our ability to generate revenue growth.</div>

      <div>&#160;</div>

      <div style="text-align: justify; font-weight: bold;">We face risks related to the effect of economic uncertainty.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">&#8203;During events of economic downturn and slow recovery, our growth prospects, results of operations, cash flows and financial condition could be adversely impacted.&#160; Our stores offer leather and leathercraft-related
        items, which are viewed as discretionary items.&#160; Pressure on discretionary income brought on by economic downturns and slow recoveries, including housing market declines, rising energy prices and weak labor markets, may cause consumers to reduce
        the amount they spend on discretionary items.&#160; The inherent uncertainty related to predicting economic conditions makes it difficult for us to accurately forecast future demand trends, which could cause us to purchase excess inventories, resulting
        in increases in our inventory carrying cost, or limit our ability to satisfy customer demand and potentially lose market share.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">While the impact of the COVID-19 pandemic has mostly receded, there are residual effects such as higher consumer prices and interest rates.&#160; Furthermore, another serious outbreak of coronavirus or other deadly
        disease could also have a material adverse effect on our business and liquidity.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">The COVID-19 pandemic had an unprecedented and lasting impact on the U.S. economy, some of which continues to today. The possibility of another outbreak of a coronavirus variant or other deadly disease that would
        have material adverse effect on the economy, our supply chain partners, our employees and our customers is now all too real.&#160; While we are better prepared to handle a future pandemic, it could impact our ability to keep our stores open, to obtain
        merchandise or payment terms from our vendors, to transport merchandise to and from our warehouse, to operate our warehouse, factory and other facilities that require on-site activities, and thus materially adversely affect our revenues, earnings,
        liquidity and cash flows.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">13</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Risks Related to Legal, Regulatory and Compliance</span></div>

      <div>&#160;</div>

      <div style="text-align: justify; font-weight: bold;">If the United States maintains current tariffs on products manufactured in China, or if additional tariffs or trade restrictions are implemented by other countries or by the U.S., the cost of our
        products manufactured in China or other countries and imported into the U.S. or other countries could increase.&#160; This could in turn adversely affect the profitability for these products and have an adverse effect on our business, financial
        condition and results of operations.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">In addition, the violation of labor, environmental or other laws by an independent manufacturer or supplier, or divergence of an independent manufacturer&#8217;s or supplier&#8217;s labor practices from those generally accepted
        as ethical or appropriate in the U.S., could interrupt or otherwise disrupt the shipment of our products, harm our trademarks or damage our reputation.&#160; The occurrence of any of these events could materially adversely affect our business, financial
        condition and results of operations.</div>

      <div>&#160;</div>

      <div style="text-align: justify; font-weight: bold;">Our success depends on the continued protection of our trademarks and other proprietary intellectual property rights.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Our trademarks and other intellectual property rights are important to our success and competitive position, and the loss of or inability to enforce our trademark and other proprietary intellectual property rights
        could harm our business.&#160; We devote substantial resources to the establishment and protection of our trademark and other proprietary intellectual property rights on a worldwide basis.&#160; Despite any precautions we may take to protect our intellectual
        property, policing unauthorized use of our intellectual property is difficult, expensive, and time consuming, and we may be unable to adequately protect our intellectual property or determine the extent of any unauthorized use.&#160; Our efforts to
        establish and protect our trademark and other proprietary intellectual property rights may not be adequate to prevent imitation or counterfeiting of our products by others, which may not only erode sales of our products but may also cause
        significant damage to our brand name.&#160; Further, we could incur substantial costs in legal actions relating to our use of intellectual property or the use of our intellectual property by others.&#160; Even if we are successful in these actions, the costs
        we incur could have a material adverse effect on us.</div>

      <div>&#160;</div>

      <div>
        <a id="ITEM1B."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                <div style="text-align: left; font-weight: bold;">ITEM 1B.</div>
              </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                <div style="font-weight: bold;">UNRESOLVED STAFF COMMENTS</div>
              </td>

  </tr>


</table>
      </div>

      <div>&#160;</div>

      <div style="text-align: justify;">Not applicable.</div>

      <div>&#160;</div>

      <div>
        <a id="ITEM1C."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                <div style="text-align: left; font-weight: bold;">ITEM 1C.</div>
              </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                <div style="font-weight: bold;">CYBERSECURITY</div>
              </td>

  </tr>


</table>
      </div>

      <div>&#160;</div>

      <div style="text-align: justify; font-weight: bold;">Cybersecurity Risk Management and Strategy</div>

      <div style="text-align: justify;">The Company recognizes the critical importance of developing, implementing, and maintaining robust cybersecurity measures to safeguard its information systems and protect the confidentiality, integrity, and
        availability of its data.&#160; The Company&#8217;s information security program is managed by its Vice President, Operations and Technology, whose team is responsible for leading Company-wide cybersecurity strategy, policy, standards, architecture, and
        processes.</div>

      <div><br/>
      </div>

      <div style="text-align: justify;">We design and assess our program based on the National Institute of Standards and Technology Cybersecurity Framework (NIST CSF and AI Risk Management Framework). This does not mean that we meet any particular
        technical standards, specifications, or requirements, but only that we use the NIST CSF as a guide to help us identify, assess, and manage cybersecurity risks relevant to our business.</div>

      <div style="text-align: justify;">Information about cybersecurity risks and our risk management processes is collected, analyzed and considered as part of our overall enterprise risk management program.</div>

      <div style="text-align: justify;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">14</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="text-align: justify; font-weight: bold;">Key components of our cybersecurity risk management program</div>

      <div style="text-align: justify;">The Company&#8217;s cybersecurity program includes:</div>

      <div style="text-align: justify;"> <br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Advanced security infrastructure with state-of-the-art firewalls and intrusion detection systems.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Regular cybersecurity training for employees.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Strict data access controls and authentication protocols.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Continuous monitoring of our networks and systems for signs of unauthorized activity.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Partnerships with leading cybersecurity software and hardware providers for real-time systems monitoring and threat intelligence.</div>
            </td>

  </tr>


</table>
      <div>&#160;</div>

      <div style="text-align: justify;">In the event of a cybersecurity incident, the Company&#8217;s response plan includes:</div>

      <div style="text-align: justify;"> <br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Immediate containment and assessment of the incident.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Notification to relevant stakeholders, including officers, board members, investors and customers where appropriate, in compliance with legal and regulatory requirements.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Cooperation with law enforcement and regulatory bodies as needed.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Post-incident analysis and measures to prevent future occurrences.</div>
            </td>

  </tr>


</table>
      <div>&#160;</div>

      <div style="text-align: justify;">At this time, we have not identified risks from known cybersecurity threats, including as a result of any prior cybersecurity incidents, that have materially affected us, including our operations, business strategy,
        results of operations, or financial condition. We face certain ongoing risks from cybersecurity threats that, if realized, are reasonably likely to materially affect us, including our operations, business strategy, results of operations, or
        financial condition. See &#8220;Risk Factors&#8221;.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-weight: bold;">Cybersecurity Governance</div>

      <div style="text-align: justify; margin-right: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">The Company&#8217;s Board of Directors oversees management&#8217;s cybersecurity strategy.&#160; Management provides a full briefing on various cybersecurity risk
        matters including risk assessments, mitigation strategies, areas of emerging risk and other areas of importance at least annually.&#160; In the event of a cybersecurity incident determined to be significant, management will notify the Board.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; margin-right: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">The Company remains vigilant in its efforts to protect its systems, data, and stakeholders from cybersecurity threats and believes that its
        proactive and comprehensive approach positions it well to manage these risks effectively.</div>

      <div><br/>
      </div>

      <div>
        <a id="ITEM2."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                <div style="text-align: left; font-weight: bold;">ITEM 2.</div>
              </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                <div style="font-weight: bold;">PROPERTIES</div>
              </td>

  </tr>


</table>
      </div>

      <div>&#160;</div>

      <div style="text-align: justify;">We lease our store locations, with the exception of our flagship store located in Fort Worth, Texas.&#160; The majority of our stores have initial lease terms of at least five years.&#160; The leases are generally renewable,
        with increases in lease rental rates in some cases.&#160; We believe that all of our properties are adequately covered by insurance.&#160; We own the 22,000 square foot building that houses our flagship store.&#160; Further, we own our corporate headquarters,
        which includes our central distribution center and production facility, sales, marketing, administrative, and executive offices.&#160; The facility consists of 191,000 square feet located on approximately 30 acres.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">15</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="text-align: justify;">The following table summarizes the locations of our leased premises as of the date of this filing:</div>

      <div>&#160;</div>

      <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="5">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">U. S. Locations:</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Alabama</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Missouri</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">3</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Alaska</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Montana</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">1</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Arizona</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">3</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Nebraska</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">1</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Arkansas</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Nevada</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">2</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">California</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">7</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">New Jersey</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">1</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Colorado</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">4</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">New Mexico</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">2</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Connecticut</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">New York</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">2</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Florida</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">4</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">North Carolina</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">2</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Georgia</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">2</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Ohio</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">3</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Idaho</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Oklahoma</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">2</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Illinois</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Oregon</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">2</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Indiana</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Pennsylvania</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">3</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Iowa</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">South Dakota</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">1</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Kansas</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Tennessee</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">3</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Kentucky</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Texas</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">16</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Louisiana</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">2</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Utah</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">4</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Maryland</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Washington</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">3</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Massachusetts</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Wisconsin</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">1</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Michigan</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">2</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Wyoming</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">1</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Minnesota</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">2</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="5">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">Canadian Locations:</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Alberta</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">3</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Ontario</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">3</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">British Columbia</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Saskatchewan</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">1</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Manitoba</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Nova Scotia</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td style="width: 11%; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); text-align: center; white-space: nowrap;">&#160;</td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="5">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">International Locations:</div>
            </td>

  </tr>

  <tr>

    <td style="width: 35%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Spain</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); text-align: center;">1</div>
            </td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 32%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td style="width: 11%; vertical-align: bottom; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify;">The broader economic impact of the pandemic and the war in Ukraine and the Middle East have put pressure on store profitability with dampened demand, higher wages and staffing challenges, rising retail rents, and
        increases in other retail store operating costs.&#160; We regularly review recent and future projected store 4-wall cash flow taking these forecasted costs as well as projected consumer demand, other nearby stores and a number of other factors into
        consideration when making decisions to close or open stores in a given location.&#160; In 2022, we closed four store locations that met a number of the criteria for closure, three of which were at the end of the lease, and one of which we paid a
        negotiated early lease termination.&#160; We also opened one new location at Fort Liberty, NC.&#160;&#160; In 2023, we closed two locations that met a number of the criteria for closure including the Fort Liberty location, which was not meeting its sales targets,
        and we opened one new location in Queens NY.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">16</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div>
        <a id="ITEM3."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                <div style="text-align: left; font-weight: bold;">ITEM 3.</div>
              </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                <div style="font-weight: bold;">LEGAL PROCEEDINGS</div>
              </td>

  </tr>


</table>
      </div>

      <div>&#160;</div>

      <div style="text-align: justify;">We are periodically involved in various litigation that arises in the ordinary course of business and operations.&#160; There are no such matters pending that we expect to have a material impact on our financial position
        or operating results. See discussion of Legal Proceedings in Note 8, <span style="font-style: italic;">Commitments and Contingencies</span> of the Notes to the Consolidated Financial Statements included in Item 8 of this Form 10-K.</div>

      <div>&#160;</div>

      <div>
        <a id="ITEM4."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                <div style="text-align: left; font-weight: bold;">ITEM 4.</div>
              </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                <div style="font-weight: bold;">MINE SAFETY DISCLOSURES</div>
              </td>

  </tr>


</table>
      </div>

      <div>&#160;</div>

      <div style="text-align: justify;">Not applicable.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">17</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <a id="PARTII"><!--Anchor--></a>
      <div style="font-weight: bold;">PART II</div>

      <div>&#160;</div>

      <div>
        <div>
          <div>
            <a id="ITEM5."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                    <div style="text-align: left; font-weight: bold;"><span style="font-weight: bold;">ITEM 5.</span></div>
                  </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                    <div style="font-weight: bold;">MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES</div>
                  </td>

  </tr>


</table>
          </div>

        </div>

      </div>

      <div>&#160;</div>

      <div style="text-align: justify;">Our common stock trades on the Nasdaq Capital Market under the symbol &#8220;TLF.&#8221;</div>

      <div>&#160;</div>

      <div style="text-align: justify;">There were approximately 278 stockholders of record on February 29, 2024.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We did not sell any shares of our equity securities during our fiscal year ended December 31, 2023 that were not registered under the Securities Act.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Our Board of Directors did not authorize any dividends during the fiscal years ended December 31, 2023 or 2022.&#160; Our Board of Directors may consider future cash dividends after giving consideration to our
        profitability, cash flow, capital requirements, current and forecasted liquidity, as well as financial and other business conditions existing at the time.&#160; This policy is subject to change based on future industry and market conditions, as well as
        other factors.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We did not repurchase any shares of our common stocks during the fourth quarter of fiscal year 2023.</div>

      <div>&#160;</div>

      <div>
        <a id="ITEM6."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                <div style="text-align: left; font-weight: bold;">ITEM 6.</div>
              </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                <div style="font-weight: bold;">SELECTED FINANCIAL DATA</div>
              </td>

  </tr>


</table>
      </div>

      <div>&#160;</div>

      <div style="text-align: justify;">We are a smaller reporting company as defined in Item 10(f)(1) of SEC Regulation S-K and are not required to provide information under this item.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">18</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div>
        <div>
          <div>
            <a id="ITEM7."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                    <div style="text-align: left; font-weight: bold;"><span style="font-weight: bold;">ITEM 7.</span></div>
                  </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                    <div style="font-weight: bold;">MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</div>
                  </td>

  </tr>


</table>
          </div>

        </div>

      </div>

      <div>&#160;</div>

      <div style="text-align: justify;">This discussion is intended to assist in understanding our financial performance and should be read in conjunction with our consolidated financial statements and the notes accompanying those consolidated financial
        statements included elsewhere in this Form 10-K, including the information under the caption &#8220;Summary of Critical Accounting Policies.&#8221;&#160; In addition to historical financial information, the following management&#8217;s discussion and analysis may contain
        forward-looking statements.&#160; These statements reflect our expectations or estimates based on the information we have today but are not guarantees or predictions of future performance.&#160; They involve known and unknown risks, uncertainties, and other
        factors, many of which are beyond our control, and which may cause actual results to differ materially from the statements contained here.&#160; You are cautioned not to put undue reliance on these forward-looking statements.&#160; The Company assumes no
        obligation to update or otherwise revise these forward-looking statements, except as required by law.&#160; More discussion of risks can be found under Item 1A, Risk Factors.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Summary</div>

      <div>&#160;</div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">The Business and Strategy</span></div>

      <div>&#160;</div>

      <div style="text-align: justify;">Tandy Leather Factory, Inc. is one of the world&#8217;s largest specialty retailers of leather and leathercraft-related items.&#160; Founded in 1919 in Fort Worth, Texas, and organized in 2005 as a Delaware corporation, the
        Company introduced leathercrafting to millions of American and later Canadian and other international customers and has built a track record as the trusted source of quality leather, tools, hardware, supplies, kits and teaching materials for
        leatherworkers everywhere.&#160; Today, our mission remains to build on our legacy of inspiring the timeless art and trade of leatherworking.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">What differentiates Tandy from the competition is our high brand awareness and strong brand equity and loyalty, our network of retail stores that provides convenience, a high-touch customer service experience, and a
        hub for the local leathercrafting community, and our 100-year heritage.&#160; We believe that this combination of qualities is unique to Tandy and gives the brand competitive advantages that are difficult for others to replicate.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We sell our products primarily through company-owned stores and through orders generated from our global websites, and through direct account representatives in our commercial division.&#160; We produce leather lace, cut
        leather pieces and most of the do-it-yourself kits that are sold in our stores and on our websites. We also offer production services to our business customers such as cutting (&#8220;clicking&#8221;) and splitting and some assembly. We maintain our principal
        offices at 1900 Southeast Loop 820, Fort Worth, Texas 76140.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Currently, the Company operates a total of 102 retail stores.&#160; There are 91 stores in the United States (&#8220;U.S,&#8221;), 10 stores in Canada and one store in Spain.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Tandy Leather has been introducing people to leatherworking for over 100 years.&#160; Our stores have been and continue to be our competitive advantage: where our consumers learn the craft in classes, open table, and from
        the expertise of our store staff, where they can touch, feel and test the product, and where they can connect and commune with others passionate about leather.&#160; Our websites provide inspiration, detailed product descriptions and specifications,
        educational information and videos, and a convenient place to also purchase product &#8211; especially for those who are far from our retail stores, including a growing international customer base.&#160; For many of our retail and web customers,
        leatherworking evolves from a passion to a trade.&#160; Our Commercial Division is tailored to the needs of those customers who build businesses around leather.&#160; With dedicated direct account representatives, a direct-from-our-warehouse shipping model,
        volume-based competitive pricing, customized product development, and production and pre-production services, we are building long-term, strategic relationships with our largest customers.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">19</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="text-align: justify;">With COVID-19 and restatement related impacts behind us, and with initiatives to improve our brand proposition and to build the foundation for a modern and efficient retail business taking hold, we believe we have
        made significant progress toward building a durable, profitable business model.&#160; Our cost of sales and operating expenses have stabilized, and we believe we have the structure, and the operating nimbleness, that can deliver operating profit and
        free cash flow even in the face of economic headwinds.&#160; Going forward, our strategy is to continue to manage our cost base and use of cash and focus on strengthening our sales by leveraging our competitive advantage of our retail stores.&#160; Improving
        our employee product knowledge, customer service level and community engagement as well as expanding workshop space in stores with machines are the highest priorities.&#160; We need to continue to give customers good reasons to visit stores, and an
        excellent return on their time investment when they do.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Results of Operations</div>

      <div>&#160;</div>

      <div style="text-align: justify;">The following table presents selected financial data:</div>

      <div>&#160;</div>

      <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">$ Change</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">% Change</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Sales</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">76,229</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">80,335</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(4,106</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(5.1</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)%</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Gross profit</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">45,163</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">46,497</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(1,334</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(2.9</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)%</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Gross margin percentage</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">59.2</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">57.9</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">-</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">1.3</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">%</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Operating expenses</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">40,753</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">45,109</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(4,356</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(9.7</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)%</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Income from operations</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">4,410</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">1,388</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">3,022</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">217.7</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">%</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Net Sales</span></div>

      <div>&#160;</div>

      <div style="text-align: justify;">Consolidated net sales decreased by $4.1 million, or 5.1%, from 2022 to 2023.&#160; About $1.3 million of the decline came from stores that were open in 2022 but closed in 2023.&#160; We<span style="color: rgb(0, 0, 0);">
          believe the rest of the decrease in sales was due to continued weaker consumer demand as a result of inflation and ongoing uncertainty related to global political, economic and public health concerns.</span></div>

      <div>&#160;</div>

      <div style="text-align: justify;">Our store footprint consisted of 102 stores at December 31, 2023 and 103 stores at December 31, 2022.</div>

      <div>&#160;</div>

      <div style="text-align: justify; color: rgb(0, 0, 0);">Since January 1, 2023, we closed two stores and opened one store.&#160;&#160; We evaluate a number of factors when determining whether to close existing stores, including the 4-wall cash flow trend and
        longer-term projection for the store, the long-term sales trend, ongoing cost of store operations, date of lease expiration, quality of the store and location, and the size and potential of the trade area including proximity to other existing
        stores, among other variables.&#160; We use similar factors to determine whether to open new stores.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Gross Profit</span></div>

      <div>&#160;</div>

      <div style="text-align: justify;">Gross profit decreased by $1.3 million, or 2.9%, from 2022 to 2023. Our gross margin percentage for the year ended December 31, 2023 increased to 59.2% versus 57.9% in the same period in 2022, due to reduction in
        freight and warehouse overhead, relatively stronger full-priced selling throughout the year and product and customer mix shifts.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">20</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Operating Expenses</span></div>

      <div>&#160;</div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Operating expenses</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">40,753</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">45,109</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Non-routine items related to restatement</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">-</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(246</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Adjusted operating expenses</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">40,753</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">44,863</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; white-space: nowrap;">
              <div>&#160;</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Operating expenses % of sales</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">53.5</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">56.2</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">%</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0);">Adjusted operating expenses % of sales</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">53.5</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">55.8</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">%</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify;">Operating expenses declined by $4.3 million in 2023 as compared to the prior year.&#160; The primary drivers of the decrease were reduced contract labor of approximately $1.2 million, primarily in accounting and
        warehouse, as we hired permanent, full-time staff and retail employment costs of $1.5 million resulting from retail labor initiatives. Other savings initiatives included reduced insurance and other taxes of $0.6 million, reduced outside services of
        $0.4 million, and lower occupancy, supplies and other expenses&#160; combined for another $1.0 million in savings, partially offset by increased bonus compensation of $0.5 million.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Other Income</span></div>

      <div>&#160;</div>

      <div style="text-align: justify;">Other income consists primarily of interest income and foreign currency gain.&#160; For the year ended December 31, 2023, we recognized other income of $0.1 million.&#160; During the year ended December 31, 2022, we recognized
        other income of less than $0.1 million related to interest earned on our short term investment.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Provision for Income Taxes</span></div>

      <div>&#160;</div>

      <div style="text-align: justify;">Our effective tax rate was 17.1% and 12.9% for the years ended December 31, 2023 and 2022, respectively.&#160;&#160; Our effective tax rate differs from the federal statutory rate primarily due to U.S. state income tax
        expense, expenses that are nondeductible for tax purposes, and the release of valuation allowance associated with our deferred tax assets.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Capital Resources, Liquidity and Financial Condition</span></div>

      <div>&#160;</div>

      <div style="text-align: justify;">We require cash principally for day-to-day operations, to purchase inventory and to finance capital investments.&#160; We expect to fund our operating and liquidity needs primarily from a combination of current cash
        balances, and cash generated from operating activities.&#160; Any excess cash will be invested as determined by our Board of Directors in accordance with its approved investment policy.&#160; Our cash balance as of December 31, 2023 totaled $12.2 million.</div>

      <div>&#160;</div>

      <div style="text-align: justify;"><span style="color: rgb(0, 0, 0);">On January 3, 2023, the Company entered into a credit agreement (the &#8220;Credit Agreement&#8221;) with JPMorgan Chase Bank, N.A.&#160; Under the Credit Agreement, the bank will provide the
          Company a credit facility of up to $5,000,000 on standard terms and conditions, including affirmative and negative covenants set forth in the Credit Agreement.&#160; As security for the credit facility, the Company has pledged as collateral certain of
          its assets, including the Company&#8217;s cash in deposit accounts, inventory and equipment.</span>&#160; As of the date of this filing, no funds had been borrowed under this facility.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">21</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Spain Loan</span></div>

      <div>&#160;</div>

      <div style="text-align: justify;">During the second quarter of 2020, the Company borrowed $0.4 million from Banco Santander S.A. under the Institute of Official Credit Guarantee for Small and Medium-sized Enterprises in order to facilitate the
        continuation of employment and to attenuate the economic effects of the COVID-19 virus.&#160; This loan was provided for by the Spanish government as part of a COVID-19 relief program.&#160; During the second quarter of 2022, we repaid this loan in full.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;"><span style="text-decoration: underline;">Share Repurchase Program</span></div>

      <div>&#160;</div>

      <div style="text-align: justify; color: rgb(0, 0, 0);">On August 8, 2022, the Board of Directors approved a new program to repurchase up to $5.0 million of the Company&#8217;s common stock on the open market on or prior to August 31, 2024.&#160; As of December
        31, 2022 and December 31, 2023, $5.0 million remained available for repurchase under this new program.</div>

      <div>&#160;</div>

      <div style="text-align: justify; color: rgb(0, 0, 0);">On April 11, 2022, we entered into an agreement with two institutional shareholders of the Company, to repurchase 359,500 shares of our common stock, par value $0.0024 in a private transaction.
        The purchase price was $5.00 per share for a total of $1.8 million. The closing of the repurchases took place on April 22, 2022, and these shares were subsequently cancelled. Prior to the repurchase, the shares represented approximately 4.2% of our
        outstanding common stock.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">The direct share repurchases described above were separately authorized by our Board of Directors and did not reduce the remaining amount authorized to be repurchased under the open-market plan that was approved by
        the Board of Directors at the time.&#160; In July 2022, the Company repurchased 600 shares of stock under the open market plan.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Cash Flows</div>

      <div>&#160;</div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">(amounts in thousands)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
              <div style="text-align: right; color: rgb(0, 0, 0); font-weight: bold;">2023</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
              <div style="text-align: right; color: rgb(0, 0, 0); font-weight: bold;">2022</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
              <div style="color: rgb(0, 0, 0);">Net cash provided by operating activities</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
              <div style="color: rgb(0, 0, 0);">4,537</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
              <div style="color: rgb(0, 0, 0);">1,154</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
              <div style="color: rgb(0, 0, 0);">Net cash used in investing activities</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(576</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(625</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
              <div style="color: rgb(0, 0, 0);">Net cash used in financing activities</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
              <div style="color: rgb(0, 0, 0);">(26</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
              <div style="color: rgb(0, 0, 0);">(2,171</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">Effect of exchange rate changes on cash and cash equivalents</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">249</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(538</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">Net increase (decrease) in cash and cash equivalents</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">4,184</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">(2,180</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">)</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify;">For 2023, we generated $4.5 million of cash from operations driven by net income of $3.8 million, the add-back of non-cash expenses of $4.5 million, including depreciation, amortization, loss on disposal of fixed
        assets, stock based compensation, and deferred taxes, an increase in accrued expenses and other liabilities of $0.5 million, a decrease in inventory of $0.2 million and a decrease in accounts receivable of $0.1 million; offset by a decrease in
        operating lease liabilities payments of $3.6 million, a decrease in accounts payable of $0.8 million, and an increase in prepaid expenses of $0.2 million. We invested $0.6 million in capital expenditures for the purchase of store fixtures and
        systems implementations. The activities above, in addition to the effect of exchange rate changes, resulted in a net increase in cash of $4.2 million.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">22</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="text-align: justify;">For 2022, we generated $1.1 million of cash from operations driven by net income of $1.2 million, the add-back of non-cash expenses of $5.5 million, including depreciation, amortization, and stock-based compensation,
        a decrease in income taxes, net of $0.9 million due to collecting $1.4 million of refunds from NOL carryback claims that partially offset current year installment payments and recording the current year income tax provision, and a decrease in
        accounts receivable of $0.2 million among other changes, offset by the increase of inventory of $0.3 million (including currency effects), a decrease in accounts payable and accrued expenses of $3.3 million and a decrease in operating lease
        liabilities of $3.4 million.&#160; We invested $0.6 million in capital expenditures for the purchase of store fixtures and systems implementations.&#160; We used cash in financing activities to repurchase 360,100 shares of Tandy common stock in purchases
        totaling $1.8 million at an average price of $5.00 per share, and to repay the loan from Spain in the amount of $0.4 million. The activities above, in addition to the effect of exchange rate changes, resulted in a net decrease in cash of $2.2
        million.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We believe that cash flow from operations and our existing cash reserves will be adequate to fund our operations through 2024, considering the current effects of the inflationary pressure on our business and cash
        flow and our current business performance.&#160; In addition, we anticipate that this cash flow and our current cash reserves will enable us to meet our contractual obligations and commercial commitments throughout 2024.&#160; There can be no assurance,
        however, that the current global economic conditions would not result in further restrictions on our business operations in a manner that would more materially impact our cash flow.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Off-Balance Sheet Arrangements</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We did not have any off-balance sheet arrangements during 2023 or 2022, and we do not currently have any such arrangements.</div>

      <div>&#160;</div>

      <div style="font-weight: bold;">Summary of Critical Accounting Policies</div>

      <div>&#160;</div>

      <div style="text-align: justify;">The preparation of the Company&#8217;s Consolidated Financial Statements in accordance with accounting principles generally accepted in the United States requires the use of estimates that affect the reported value of
        assets, liabilities, revenues and expenses.&#160; These estimates are based on historical experience and various other factors that are believed to be reasonable under the circumstances, the results of which form the basis for the Company&#8217;s
        conclusions.&#160; The Company continually evaluates the information used to make these estimates as the business and the economic environment changes.&#160; Actual results may differ from these estimates, and estimates are subject to change due to
        modifications in the underlying conditions or assumptions.&#160; The policies discussed below require estimates that contain a significant degree of judgement.&#160; The use of estimates is pervasive throughout the Consolidated Financial Statements, but the
        accounting policies and estimates considered most critical are as follows.</div>

      <div>&#160;</div>

      <div style="text-align: justify;"><span style="font-weight: bold;">Revenue Recognition</span>.&#160; Our revenue is earned from sales of merchandise and generally occurs via three methods: (1) at the store counter, (2) shipment of product generally via
        web sales, and (3) sales of product directly to commercial customers through our commercial account representatives.&#160; We recognize revenue when we satisfy the performance obligation of transferring control of product merchandise over to a
        customer.&#160; At the store counter, our performance obligation is met, and revenue is recognized when a sales transaction occurs with a customer.&#160; For (2) and (3) above, our performance obligation is met when merchandise is shipped to a customer, and
        revenue is recognized when control passes to the customer.&#160; Shipping terms are normally free on board (&#8220;FOB&#8221;) shipping point and control passes when the merchandise is shipped to the customer.&#160; Sales tax and comparable foreign tax is excluded from
        net sales, while shipping charged to our customers is included in net sales.&#160; Net sales are based on the amount of consideration that we expect to receive, reduced by estimates for future merchandise returns.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">The sales return allowance is based each year on historical customer return behavior and other known factors and reduces net sales and cost of sales, accordingly.&#160; Under our sales returns policy, merchandise may be
        returned, under most circumstances, up to 60 days after date of purchase.&#160; As merchandise is returned, the company records the sales return against the sales return allowance.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">23</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="text-align: justify;">We record a gift card liability for the unfulfilled performance obligation on the date we issue a gift card to a customer.&#160; We record revenue and reduce the gift card liability as the customer redeems the gift card.&#160;
        In addition, for gift card breakage, we recognize a proportionate amount for the expected unredeemed gift cards over the expected customer redemption period, which is one year.</div>

      <div>&#160;</div>

      <div style="text-align: justify;"><span style="font-weight: bold;">Inventory.</span>&#160; Inventory is stated at the lower of first-in, first-out (&#8220;FIFO&#8221;) cost or net realizable value, and FIFO layers are maintained at the location level.&#160; Finished goods
        held for sale includes the cost of merchandise purchases, the costs to bring the merchandise to our Texas distribution center, warehousing and handling expenditures, and distributing and delivering merchandise to our stores.&#160; These costs include
        depreciation of long-lived assets utilized in acquiring, warehousing and distributing inventory.&#160; Assembled inventory including raw materials and work-in-process is valued on a FIFO basis using full absorption accounting which includes material,
        labor, and other applicable assembly overhead.&#160; Carrying values of inventory are analyzed and, to the extent that the cost of inventory exceeds the net realizable value, provisions are made to reduce the carrying amount of the inventory.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We regularly review all inventory items to determine if there are (i) damaged goods (e.g., for leather, excessive scars or damage from ultra-violet (&#8220;UV&#8221;) light), (ii) items that need to be removed from our product
        line (e.g., slow-moving items, inability of a supplier to provide items of acceptable quality or quantity, and to maintain freshness in the product line) and (iii) pricing actions that need to be taken to adequately value our inventory at the lower
        of FIFO cost or net realizable value.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">Since the determination of net realizable value of inventory involves both estimation and judgement with regard to market values and reasonable costs to sell, differences in these estimates could result in ultimate
        valuations that differ from the recorded asset.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">The majority of inventory purchases and commitments are made in U.S. dollars in order to limit the Company&#8217;s exposure to foreign currency fluctuations.&#160; Goods shipped to us are recorded as inventory owned by us when
        the risk of loss shifts to us from the supplier.&#160; Inventory is physically counted twice annually in the Texas distribution center.&#160; At the store level, inventory is physically counted each quarter.&#160; Inventory is then adjusted in our accounting
        system to reflect actual count results.</div>

      <div>&#160;</div>

      <div style="text-align: justify;"><span style="font-weight: bold;">Leases.</span>&#160; We lease certain real estate for our retail store locations and warehouse equipment for our Texas distribution center, both under long-term lease agreements. Starting
        in 2019, with the adoption of Accounting Standards Update (&#8220;ASU&#8221;) 2016-02, <span style="font-style: italic;">Leases</span> (Topic 842), once we have determined an arrangement is a lease, at inception we recognize a lease asset and lease liability
        at commencement date based on the present value of the lease payments over the lease term.&#160; We elected not to record leases with an initial term of 12 months or less on the balance sheet for all our asset classes. The depreciable life of related
        leasehold improvements is based on the shorter of the useful life or the lease term.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">For our operating leases, the present value of our lease payments may include: (1) rental payments adjusted for inflation or market rates, and (2) lease terms with options to renew the lease when it is reasonably
        certain we will exercise such an option. The exercise of lease renewal options is generally at our discretion. Payments based on a change in an index or market rate are not considered in the determination of lease payments for purposes of measuring
        the related lease liability. We discount lease payments using our incremental borrowing rate based on information available as of the measurement date.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">We recognize rent expense related to our operating leases on a straight-line basis over the lease term. Rent expense is recorded in operating expenses.</div>

      <div>&#160;</div>

      <div style="text-align: justify;">For finance leases, our right-of-use assets are amortized on a straight-line basis over the earlier of the useful life of the right-of-use asset or the end of the lease term with rent expense recorded to operating
        expenses.&#160; We adjust the lease liability to reflect lease payments made during the period and interest incurred on the lease liability using the effective interest method. The remaining asset balance in our finance lease is only residual value and
        only an insignificant interest expense of less than $100 dollars was incurred and is recorded on the consolidated statements of operations and comprehensive income.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">24</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="text-align: justify;">None of our lease agreements contain material residual value guarantees or material restrictive covenants.&#160; As of December 31, 2023, we have no sublease agreements and no lease agreements in which we are named as a
        lessor.&#160; We do not have any contingent rental payment agreements.&#160; On September 8, 2022, we entered into a concession agreement for our store on the Fort Liberty (formerly Fort Bragg) military base in which the concession payment is based on a
        sliding scale percentage of sales.&#160; At the end of November, 2023, we closed that store.</div>

      <div>&#160;</div>

      <div style="text-align: justify;"><span style="font-weight: bold;">Impairment of Long-Lived Assets</span>.&#160; We evaluate long-lived assets on a quarterly basis to identify events or changes in circumstances (&#8220;triggering events&#8221;) that indicate the
        carrying value of certain assets may not be recoverable.&#160; Upon the occurrence of a triggering event, right-of-use (&#8220;ROU&#8221;) lease assets, property and equipment and definite-lived intangible assets are reviewed for impairment and an impairment loss
        is recorded in the period in which it is determined that the carrying amount of the assets is not recoverable.&#160; The determination of recoverability is made based upon the estimated undiscounted future net cash flows of assets grouped at the lowest
        level for which there are identifiable cash flows independent of the cash flows of other groups of assets with such cash flows to be realized over the estimated remaining useful life of the primary asset within the asset group.&#160; The Company
        determined the lowest level of identifiable cash flows that are independent of other asset groups to be primarily at the individual store level.&#160; If the estimated undiscounted future net cash flows for a given store are less than the carrying
        amount of the related store assets, an impairment loss is determined by comparing the estimated fair value with the carrying value of the related assets.&#160; The impairment loss is then allocated across the asset group&#8217;s major classifications which in
        this case are operating lease assets and property and equipment.&#160; Triggering events at the store level could include material declines in operational and financial performance or planned changes in the use of assets, such as store relocation or
        store closure.&#160; This evaluation requires management to make judgements relating to future cash flows, growth rates and economic and market conditions.&#160; The fair value of an asset group is estimated using a discounted cash flow valuation method.</div>

      <div>&#160;</div>

      <div style="text-align: justify;"><span style="font-weight: bold;">Stock-based Compensation.</span>&#160; The Company&#8217;s stock-based compensation relates primarily to restricted stock unit (&#8220;RSU&#8221;) awards.&#160; Accounting guidance requires measurement and
        recognition of compensation expense at an amount equal to the grant date fair value.&#160; Compensation expense is recognized for service-based stock awards on a straight-line basis or ratably over the requisite service period, based on the closing
        price of the Company&#8217;s stock on the date of grant.&#160; The service-based awards typically vest ratably over the requisite service period, provided that the participant is employed on the vesting date.&#160; The total compensation expense is reduced by
        actual forfeitures as they occur over the requisite service period of the awards.&#160; Performance-based RSUs vest, if at all, upon the Company satisfying certain performance targets.&#160; The Company records compensation expense for awards with a
        performance condition when it is probable that the condition will be achieved.&#160; If the Company determines it is not probable a performance condition will be achieved, no compensation expense is recognized.&#160; If the Company changes its assessment in
        a subsequent period and concludes it is probable a performance condition will be achieved, the Company will recognize compensation expense ratably between the period of the change in assessment through the expected date of satisfying the
        performance condition for vesting.&#160; If the Company subsequently assesses that it is no longer probable that a performance condition will be achieved, the accumulated expense that has been previously recognized will be reversed.&#160; The compensation
        expense ultimately recognized, if any, related to performance-based awards will equal the grant date fair value based on the number of shares for which the performance condition has been satisfied.&#160; We issue shares from authorized shares upon the
        lapsing of vesting restrictions on RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">25</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div style="text-align: justify;"><span style="font-weight: bold;">Income Taxes.</span>&#160; Income taxes are estimated for each jurisdiction in which we operate.&#160; This involves assessing current tax exposure together with temporary differences resulting
        from differing treatment of items for tax and financial statement accounting purposes.&#160; Any resulting deferred tax assets are evaluated for recoverability based on estimated future taxable income.&#160; To the extent it is more-likely-than-not that all
        or a portion of a deferred tax asset will not be realized, a valuation allowance is recorded.&#160; Our evaluation regarding whether a valuation allowance is required or should be adjusted also considers, among other things, the nature, frequency, and
        severity of recent losses, forecasts of future profitability and the duration of statutory carryforward periods.&#160; Deferred tax assets and liabilities are measured using the enacted tax rates in effect in the years when those temporary differences
        are expected to reverse.&#160; The effect on deferred taxes from a change in tax rate is recognized through continuing operations in the period that includes the enactment date of the change.&#160; Changes in tax laws and rates could affect recorded deferred
        tax assets and liabilities in the future.&#160; A tax benefit from an uncertain tax position may be recognized when it is more-likely-than-not that the position will be sustained upon examination, including resolutions of any related appeals or
        litigation processes, based on the technical merits.&#160; Income tax positions must meet a more-likely-than-not recognition threshold to be recognized.&#160; We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our
        judgement changes as a result of the evaluation of new information not previously available.&#160; Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current
        estimate of the tax liabilities.&#160; These differences will be reflected as increases or decreases to income tax expense and the effective tax rate in the period in which new information becomes available.&#160; We may be subject to periodic audits by the
        Internal Revenue Service and other taxing authorities.&#160; These audits may challenge certain of our tax positions, such as the timing and amount of deductions and allocation of taxable income to the various jurisdictions.</div>

      <div>&#160;</div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">26</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div style="text-align: left; margin-top: 6pt; margin-bottom: 12pt; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">ITEM 8.<a id="ITEM8."><!--Anchor--></a>&#160; CONSOLIDATED FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div><img src="image00002.jpg" alt="graphic"/></div>

    <div><br/></div>

    <div>
      <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">
        <div>
          <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">Report of Independent Registered Public Accounting Firm</div>

            <div>&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">Board of Directors and Shareholders</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">Tandy Leather Factory</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-variant: normal; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; font-style: italic; font-weight: bold;">Opinion on the Financial Statements</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">We have audited the accompanying consolidated balance sheets of Tandy Leather Factory, Inc. and Subsidiaries
              (the Company) as of December 31, 2023 and 2022, and the related consolidated statements of operations and comprehensive income, cash flows, and stockholders&#8217; equity for each of the two years in the period ended December 31, 2023, and the
              related notes (collectively referred to as the &#8220;financial statements&#8221;). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2023 and 2022, and the results
              of its operations and its cash flows for each of the two years in the period ended December 31, 2023, in conformity with accounting principles generally accepted in the United States of America.</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-variant: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify; font-style: italic; font-weight: bold;">Basis for Opinion</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">These financial statements are the responsibility of the entity&#8217;s management. Our responsibility is to express
              an opinion on these financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) ("PCAOB") and are required to be independent with respect to the
              Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan
              and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its
              internal control over financial reporting. As part of our audits, we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the entity&#8217;s
              internal control over financial reporting. Accordingly, we express no such opinion.</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">Our audits included performing procedures to assess the risks of material misstatement of the financial
              statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also
              included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our
              opinion.</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-variant: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify; font-style: italic; font-weight: bold;">Critical Audit Matters</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">The critical audit matter communicated below is a matter arising from the current period audit of the
              financial statements that was communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging,
              subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a
              separate opinion on the critical audit matters or on the accounts or disclosures to which it relates.</div>

            <div>&#160;</div>

            <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="width: 100%;" class="BRPFPageFooter"></div>

              <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">27</span></div>

              <div class="BRPFPageBreak" style="page-break-after: always;">
                <hr style="border-width: 0px; clear: both; margin-top: 4px; margin-bottom: 4px; width: 100%; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/></div>

              <div style="width: 100%;" class="BRPFPageHeader">
                <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                  </a> </div>

              </div>

            </div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-variant: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify; font-style: italic; font-weight: bold;">Valuation of Inventory</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">The Company&#8217;s accounting policy for the recognition of inventory and cost of sales is described in Note 2 to
              the financial statements. The Company has recorded an inventory balance of approximately $37.9 million and cost of sales of approximately $31.0 million as of and for the year ended December 31, 2023. Additionally, Note 3 to the financial
              statements provides further detail of the components of the year-end inventory balance.</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">The Company&#8217;s merchandise inventories are stated at the lower of cost or net realizable value using a
              first-in, first-out costing principle. Finished goods inventory costs include the cost of merchandise purchases, the costs to bring the merchandise to the Company&#8217;s distribution center, warehousing and handling expenditures, and distributing
              and delivering merchandise to the Company&#8217;s stores. The determination of amounts that are required to be capitalized to inventory resulting from warehouse and handling expenditures and transportation costs (together &#8220;overhead costs&#8221;) are
              subjective and are generally based on an allocation ratio calculated by the Company using the previous year&#8217;s actual overhead costs and the value of inventory handled during that year, subject to adjustment for current economic or market
              conditions. Additionally, to determine if the value of their inventory should be written down, the Company considers many factors, including condition of the product (excessive scars, discoloring or damage from UV light), current and
              anticipated demand that may cause the product to become slow moving and age of the merchandise to ensure that the product line is considered fresh. If a write-down is warranted, the carrying value of the merchandise is reduced from its
              original cost to the lower of its cost or net realizable value.</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">Our audit procedures to evaluate these items involved a higher degree of auditor judgment and the involvement
              of more senior members of the engagement team in executing, supervising, and reviewing the results of the procedures.</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-variant: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify; font-style: italic; font-weight: bold;">How the Critical Audit Matter Was Addressed in the Audit</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">&#160;</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">Our audit procedures related to the valuation of inventories included the following, among others:</div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"><br/>
            </div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
              <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 1841px; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;">
                      <div><br/>
                      </div>
                    </td>

    <td style="width: 18pt; vertical-align: top; text-align: right;">
                      <div style="text-align: left;">&#8226;</div>
                    </td>

    <td style="width: auto; vertical-align: top;">
                      <div>We obtained an understanding of the controls over the valuation of inventory.</div>
                    </td>

  </tr>


</table>
            </div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
              <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 1841px; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;">&#160;</td>

    <td style="width: 18pt; vertical-align: top; text-align: right;">
                      <div style="text-align: left;">&#8226;</div>
                    </td>

    <td style="width: auto; vertical-align: top;">
                      <div>We tested the inventory costs incurred by the Company by reviewing supplier invoices and ensuring that appropriate application of the first-in first-out principle was followed.</div>
                    </td>

  </tr>


</table>
            </div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
              <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 1841px; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;">&#160;</td>

    <td style="width: 18pt; vertical-align: top; text-align: right;">
                      <div style="text-align: left;">&#8226;</div>
                    </td>

    <td style="width: auto; vertical-align: top;">
                      <div>We evaluated the appropriateness and consistency of management&#8217;s methodology used in allocating overhead costs to inventory.</div>
                    </td>

  </tr>


</table>
            </div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
              <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 1841px; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;">&#160;</td>

    <td style="width: 18pt; vertical-align: top; text-align: right;">
                      <div style="text-align: left;">&#8226;</div>
                    </td>

    <td style="width: auto; vertical-align: top;">
                      <div>We evaluated the appropriateness of the capitalized overhead costs by analyzing them against actual overhead costs incurred during the year.</div>
                    </td>

  </tr>


</table>
            </div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
              <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 1841px; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;">&#160;</td>

    <td style="width: 18pt; vertical-align: top; text-align: right;">
                      <div style="text-align: left;">&#8226;</div>
                    </td>

    <td style="width: auto; vertical-align: top;">
                      <div>We tested the mathematical accuracy of the Company&#8217;s inventory obsolescence reserve calculation.</div>
                    </td>

  </tr>


</table>
            </div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
              <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 1841px; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;">&#160;</td>

    <td style="width: 18pt; vertical-align: top; text-align: right;">
                      <div style="text-align: left;">&#8226;</div>
                    </td>

    <td style="width: auto; vertical-align: top;">
                      <div>We evaluated the appropriateness and consistency of management&#8217;s methodology and assumptions used in developing its estimate of the inventory obsolescence reserve.</div>
                    </td>

  </tr>


</table>
            </div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
              <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 1841px; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;">&#160;</td>

    <td style="width: 18pt; vertical-align: top; text-align: right;">
                      <div style="text-align: left;">&#8226;</div>
                    </td>

    <td style="width: auto; vertical-align: top;">
                      <div>We performed analytical procedures on the current year reserve by comparing it to the prior year reserve and obtaining corroborating evidence to support any assumptions.</div>
                    </td>

  </tr>


</table>
            </div>

            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
              <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 1841px; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 18pt;">&#160;</td>

    <td style="width: 18pt; vertical-align: top; text-align: right;">
                      <div style="text-align: left;">&#8226;</div>
                    </td>

    <td style="width: auto; vertical-align: top;">
                      <div>We tested on a sample basis, sales subsequent to year-end of the written-down items to ensure that the net realizable value was not lower than the previously written down value.</div>
                    </td>

  </tr>


</table>
            </div>

            <div>&#160;</div>

            <div> <img src="image00003.jpg" alt="graphic"/></div>

            <div> <br/>
            </div>

          </div>

          <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">&#160;<ix:nonNumeric name="dei:AuditorName" id="Fact_80c0aad251a94b94aedd8c2efee7668e" contextRef="c20230101to20231231">WEAVER AND TIDWELL, L.L.P</ix:nonNumeric>.</div>

          <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-transform: none; white-space: normal; word-spacing: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
            </div>

            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">We have served as
              <span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: left; text-indent: 0px; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">Tandy Leather Factory, Inc.</span>&#8217;s auditor since 2003.</div>

            <div>&#160;</div>

          </div>

          <div style="text-align: justify;">
<div><span style="font-weight: normal;"><ix:nonNumeric name="dei:AuditorLocation" id="Fact_c1b4c18186f14433bf9e7ad80186d08b" contextRef="c20230101to20231231">Oklahoma City, Oklahoma</ix:nonNumeric></span></div>

            <div>
              <div> <div><br/></div>

                <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal;">March 22, 2024</div>

                <div><br/>
                </div>

                <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
                  <div style="width: 100%;" class="BRPFPageFooter"></div>

                  <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">28</span></div>

                  <div class="BRPFPageBreak" style="page-break-after: always;">
                    <hr style="border-width: 0px; clear: both; margin-top: 4px; margin-bottom: 4px; width: 100%; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/></div>

                  <div style="width: 100%;" class="BRPFPageHeader">
                    <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                      </a> </div>

                  </div>

                </div>

              </div>

            </div>

          </div>

        </div>

      </div>

    </div>

    <div><span style="font-size: 10pt;"> </span></div>
 </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: bold;">Tandy Leather Factory, Inc.</span></div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: bold;">Consolidated Balance Sheets</span></div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: bold;">(amounts in thousands, except share data</span> <span style="font-weight: bold;">and per share data)</span></div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: center; vertical-align: bottom; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: middle; font-weight: bold; text-align: center; white-space: nowrap;" rowspan="1" colspan="2">December 31, <br/>
              </td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: center; vertical-align: bottom; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: middle; font-weight: bold; text-align: center; white-space: nowrap;" rowspan="1" colspan="2">December 31, <br/>
              </td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: middle; font-weight: bold; text-align: center; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">2023</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: middle; font-weight: bold; text-align: center; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">2022</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: top; text-align: center;">&#160;</td>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; text-align: center;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">ASSETS</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top;">
                <div style="color: rgb(0, 0, 0);">CURRENT ASSETS:</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Cash and cash equivalents</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" id="Fact_8826c523577f470aa93d4be4a53de11f" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,159</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" id="Fact_047cafa5001144cd839c72a2b3212673" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,975</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Accounts receivable-trade, net of allowance for doubtful accounts of $<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_98dc92e4bde246eeaa6973d855e808f4" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">31</ix:nonFraction> and $<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_398321e4c74d48cb867b40f1af159242" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">56</ix:nonFraction> at December 31, 2023 and December 31, 2022, respectively</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_2997235c578b495ca19b9d0e100a4bb7" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">264</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_4b9eaf55652d43d1a2ded46691650831" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">370</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Inventory</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_8b5aa756115142d696a86a82c5a29c97" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">37,993</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_18b1c2dfb8c24af284b1b3fbf87f1d5c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">38,227</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">
                <div style="color: rgb(0, 0, 0);">
                  <div>Income tax receivable</div>
                </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeTaxesReceivable" id="Fact_7d51ca0a4164417ebc2c3d6999e53dd2" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">248</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeTaxesReceivable" id="Fact_5534908124e0452c8135ec7a4999e0ff" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">302</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Prepaid expenses</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" id="Fact_622f176ca5354481b83ae789cbb09e14" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">475</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" id="Fact_964cfb37cb43489596578421a24b0636" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">272</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0);">Other current assets</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" id="Fact_237eefe4b7cd4947b44c5d0fe5ad4ce8" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">113</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" id="Fact_fb14f1936e3a4c82b74c2e282332661f" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">106</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Total current assets</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AssetsCurrent" id="Fact_15436b2e58104bfabd8d0e90a7ad9ba0" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">51,252</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AssetsCurrent" id="Fact_20dcf9e55d2c46b78fd91475141ccd1c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">47,252</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Property and equipment, at cost</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_581c67d7ed164d7b9edcf9ade22f4bed" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">28,678</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_e4fac3c582ed4d68b454b34e8fabdeec" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">28,124</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0);">Less accumulated depreciation</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" id="Fact_1e2d4ace5e52472b901aaa1eba01a3f3" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">18,131</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" id="Fact_ecd367e9a1a8491cb912d35c11329f6b" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">16,962</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Property and equipment, net</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_c4956109c2db49f5b220aa3502c4ff39" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,547</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_4cd35ad166d94a32801a07e2c64be4df" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">11,162</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Operating lease assets</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" id="Fact_61483de6f2764c458cea85e8f84fcef1" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,995</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" id="Fact_e5054eb84e2c447da516c73b78ca4c13" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,742</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Financing lease assets</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAsset" id="Fact_6e0665e14e4544539e008c7f0a2fc876" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAsset" id="Fact_18b0f8ff72eb4ffdb3de2ed33ae4171c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">31</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);" rowspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;" rowspan="1">Deferred income taxes<br/>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" id="Fact_402f1af1acaf48e0ae7fe1ef7c0d2703" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">880</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" id="Fact_b8bf8761e3ba4a738be4049010063116" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);" rowspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0);">Other assets</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" id="Fact_bfd14baeeb9942f79c07f611603e8180" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">438</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" id="Fact_be8ef41d58984aa29e7c73b206f96228" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">392</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">TOTAL ASSETS</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:Assets" id="Fact_52a2791045344475a5329cd5a233e868" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">72,135</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:Assets" id="Fact_a0fcc6b5c4a141a69c6592ca05cc7cc5" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">68,579</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">
                <div style="color: rgb(0, 0, 0);">CURRENT LIABILITIES:</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Accounts payable-trade</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AccountsPayableTradeCurrent" id="Fact_07bf4b97e47244709690655a53a49abf" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,333</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AccountsPayableTradeCurrent" id="Fact_cb67befd75f64348b70150ff38f17bf3" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,082</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Accrued expenses and other liabilities</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" id="Fact_c980876853ae4ab3a2e5ea78cef4879d" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,140</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" id="Fact_8e1a78cd02804418a50980733a51acb5" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,681</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);" rowspan="1">
                <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Income taxes payable</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" id="Fact_b6c6a96bba224fb099f1c8614dfcf1da" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">288</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" id="Fact_ec5cd6535d3f42d08bca16790ac0ee92" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">211</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Current portion of operating lease liabilities</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" id="Fact_84104db3ee824aa4aefba5695fdc3f9a" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,172</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" id="Fact_04023efa08dc45d3b91b6f2db2a101b3" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,881</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0);">Current portion of finance lease liabilities<br/>
                </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityCurrent" id="Fact_1f2c5ad997864d56be73d34f7caeb6b2" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityCurrent" id="Fact_f2453bc1c4d34a8fbaa88ab06e62a257" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0);">Total current liabilities</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" id="Fact_dc2391a49ee242fb8e9627c7e00fa79f" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,933</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" id="Fact_a4ff251e3d7741d2a28d8957a31406b4" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,870</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;" rowspan="1">Deferred income taxes<br/>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" id="Fact_6165e8e9d2d64dbe96f0ad86315fc224" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" id="Fact_a2cf2cf719094a49a431c3dd4f89c6b9" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Uncertain tax positions</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" id="Fact_054a71a12f90413c97d200d81b56d5de" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">388</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" id="Fact_eb8891d822644566b2927f0396f539af" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">450</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Other non-current liabilities</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" id="Fact_df61afa384e04dac8754aff1c3dd2386" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">205</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" id="Fact_49f7f42fd11645bf9d074f0a86181e2c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">326</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Operating lease liabilities, non-current</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" id="Fact_509ef15767a448eb85e34b67850e4bc3" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,253</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" id="Fact_32c12774557d4e3bb9e52a40d177fd3c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,469</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Finance lease liabilities, non-current<br/>
                </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityNoncurrent" id="Fact_d11f95f659e64af7b4e0b7118cd012c5" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityNoncurrent" id="Fact_6371213c9ee44637ab4f7f7f395ff509" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">
                <div style="color: rgb(0, 0, 0);">COMMITMENTS AND CONTINGENCIES (Note 8)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1"><span style="-sec-ix-hidden:Fact_1ac8c4637f934f6f9d83a4845eaaa13f"> </span></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1"><span style="-sec-ix-hidden:Fact_d3052f1f6e2b4e8bb9ad01bbc3dfe611"> </span></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">
                <div style="color: rgb(0, 0, 0);">STOCKHOLDERS&#8217; EQUITY:</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Common stock, $<ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact_e0fdf548092648f6a32f6f51dc420b0a" contextRef="c20221231" unitRef="U003" decimals="4" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact_d5f2a8c5befc41dc9e019c015764797e" contextRef="c20231231" unitRef="U003" decimals="4" scale="0" format="ixt:num-dot-decimal">0.0024</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" id="Fact_e96d064b611c4635a81549a4866f7ea4" contextRef="c20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" id="Fact_b03d4c83780d4916ad1da895cc7bf51b" contextRef="c20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">25,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_dfa013909b8e4e839fc6d63c9b032763" contextRef="c20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">9,823,621</ix:nonFraction> and <ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_34e475f6821347fa87e29487bb1b272d" contextRef="c20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">9,717,525</ix:nonFraction> shares issued at December 31,
                  2023 and December 31,
                  2022, respectively; <ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" id="Fact_7a9c4e8d99e24ec2a438892936ef1226" contextRef="c20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,399,245</ix:nonFraction>
                  and <ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" id="Fact_13bebefeeef14bca9572dd96094a6d98" contextRef="c20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,293,150</ix:nonFraction> shares outstanding at December 31, 2023 and December 31, 2022, respectively<br/>
                </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CommonStockValue" id="Fact_b74fa17a24954f20a18e9924a8d7a517" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CommonStockValue" id="Fact_ed6f67d8051e43fda2d18daad8fa546a" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Paid-in capital</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" id="Fact_88a3d1fc40964ec2b9c7c87cbea5750b" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,981</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" id="Fact_5ef3e1e3ec66491d8b68d82d25b0090b" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,222</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Retained earnings</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" id="Fact_7d49317c5e53478ba9fa24814368e508" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">63,659</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" id="Fact_58c9a4b7594641348b16242cc6f0d78b" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">59,891</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Treasury stock at cost (<ix:nonFraction name="us-gaap:TreasuryStockCommonShares" id="Fact_40f53932ebc84a2982ba7271a3760773" contextRef="c20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" id="Fact_7439dddb48384f8ca34923210b01bd6a" contextRef="c20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">1,424,376</ix:nonFraction></ix:nonFraction> shares at December 31, 2023 and December 31, 2022)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:TreasuryStockCommonValue" id="Fact_6aa967d8ca5f4414b3d33406d921b05c" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,773</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:TreasuryStockCommonValue" id="Fact_c4b218f37aee42c0a1c95498a602e103" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,773</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                <div style="font-size: 8pt;"><span style="font-size: 10pt; color: rgb(0, 0, 0);">Accumulated other comprehensive loss, net of tax</span></div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" id="Fact_7e2212cf1b5048e8a3414c321ebe07be" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,544</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" id="Fact_2074a4e6c9524a2db93127e8bb7ae576" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,900</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0);">Total stockholders&#8217; equity</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_0f92c9e0a2cf4378b31abe3dad22d972" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">56,346</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_d5ac13d991034b0b842ae9293d8e9908" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">51,463</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: top; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">TOTAL LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" id="Fact_2cda59333683495cae7e56fe3f2493ec" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">72,135</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" id="Fact_4d64abe778a7425cb6a9edb5cc104cee" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">68,579</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">The accompanying notes are an integral part of these Consolidated Financial Statements.</div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

        <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">29</span></div>

          <div style="page-break-after: always;" class="BRPFPageBreak">
            <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: bold;">Tandy Leather Factory, Inc.</span></div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: bold;">Consolidated Statements of</span> <span style="font-weight: bold;">Operations and Comprehensive Income<br/>
          </span></div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: bold;">(amounts in thousands, except share and per share data)</span></div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div>
          <table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">For the Years Ended December 31,</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Net sales</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_dc5531b155754c7cb295d0b88e267257" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">76,229</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_7593ee4b00d34e43adfeae02a986d271" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">80,335</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0);">Cost of sales</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" id="Fact_99b18acdc18343079965002084f378dc" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">31,066</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" id="Fact_1a8b23714b384183bd90df2878b053d1" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">33,838</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Gross profit</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_a0656d105d914e87a60169cce98fb8ba" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">45,163</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_b9615fc33ef24494bc134f46553739c4" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">46,497</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingCostsAndExpenses" id="Fact_8200606d16f8411b94e0d7aa1092dfe7" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">40,753</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingCostsAndExpenses" id="Fact_cc4c47391f79438fb556b8486d14d8b1" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">45,109</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">
                    <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Income from operations</div>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" id="Fact_d715144371b049da81d38fa5723c16a8" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,410</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" id="Fact_eded6c5d0fac403eb13b053e97709b3a" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,388</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Other income:</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">
                    <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Interest income</div>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:InterestIncomeExpenseNet" id="Fact_c4f31eb933874295a9df3e7acf3e2adc" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">93</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:InterestIncomeExpenseNet" id="Fact_6224695db13f41e891f71087233440fb" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Other, net</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" id="Fact_07e02951a3324084bb8c5dab1b08fac6" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">42</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" id="Fact_5a02f62a76004c7d95a020a24f6395d1" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">11</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                  <div>Total other income<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" id="Fact_a26daa0fd446463483e876b61d8e928a" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">135</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">)</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" id="Fact_7b32faf6337444e7aa069b15dd99dc40" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">20</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">)</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">
                    <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Income before income taxes</div>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_b347ad0a163149feaaa4d16784619014" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,545</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_96fb4f1be0964dac8cd64d8c8d6c2294" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,408</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0);">
                    <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Provision for income taxes</div>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_2737440e4d9e413c8752a008c23808af" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">777</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_637847c2597e4722ace6fd22cb967287" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">181</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
                  <div style="color: rgb(0, 0, 0);">
                    <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Net Income</div>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_f872286958d448aeae4cce973aeb908f" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,768</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_2b07f7cd37d84c61bc4a6e36269bbc48" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,227</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0);">Foreign currency translation gain (loss), net<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_eb796532cc8f4596b6225478b3d73020" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">356</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_3fd468339b6146349fea7e594d7ce783" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">527</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
                  <div style="color: rgb(0, 0, 0);">
                    <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Comprehensive income</div>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" id="Fact_ba867868c1954036a07230e278175732" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,124</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" id="Fact_241f45a2bee846f8976db2e90ce4bea0" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">700</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">
                    <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Net income per common share:</div>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Basic</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_383b03dc339f43d29e1ce09474115117" contextRef="c20230101to20231231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.45</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_379835254cf24f2db9e20b2e425ae215" contextRef="c20220101to20221231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.15</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Diluted</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_631b7260590b43398de1d380b9d7b007" contextRef="c20230101to20231231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.45</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_962d918866304a9790adef82a2e586cb" contextRef="c20220101to20221231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.15</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Weighted average number of shares outstanding:</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Basic</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_402f0392d3cb44c6aaa2c1b5da197474" contextRef="c20230101to20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,339,658</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_0f45aede24b44883b951a35cfefbff3d" contextRef="c20220101to20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,363,390</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Diluted</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">
                    <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_d0fbbfddd1674b59b68bdfe62e3264b9" contextRef="c20230101to20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,369,976</ix:nonFraction></div>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_7e972c3e79ba45399ca472fe9f24999f" contextRef="c20220101to20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,394,567</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>


</table>
        </div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">The accompanying notes are an integral part of these Consolidated Financial Statements</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">30</span></div>

          <div style="page-break-after: always;" class="BRPFPageBreak">
            <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: bold;">Tandy Leather Factory, Inc.</span></div>

        <div>
          <div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;">Consolidated Statements of Cash Flows <br/>
            </span></div>

        </div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: bold;">(amounts in thousands)</span></div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

        <div>
          <table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">For the Years Ended December 31,</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Cash flows from operating activities:</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">
                    <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Net income</div>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_85fc4bb858164699b7313f44927f237c" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,768</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_1d7cca7c317d4d6e8f85878234246092" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,227</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Adjustments to reconcile net income to net cash provided by operating activities:</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Depreciation and amortization</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSoldDepreciation" id="Fact_7fba22dd269d4e3eb0195361e623e156" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,199</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSoldDepreciation" id="Fact_df63e39a41e544c4b31a55ae15bca6b1" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,201</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Operating lease asset amortization</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" id="Fact_93ce2c82545a4bc9a6556aa367c0c78a" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,427</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" id="Fact_111a1acc20d048a8a9b4edada4772169" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,230</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Loss on disposal of assets</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" id="Fact_c2f9e710d85c4959b06cd8881511b27a" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" id="Fact_44ab692cc8314b13883651b03fab644b" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">9</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Stock-based compensation</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensation" id="Fact_78abc6ca96504c7cae642400dce60163" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">770</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensation" id="Fact_dd0cfa01a0ff45aab517cf34697a1a00" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,060</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Deferred income taxes</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxesAndTaxCredits" id="Fact_13bf8767a27347968a0e6a9b1df52595" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">902</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxesAndTaxCredits" id="Fact_3ab74abdca474c66af54608c5a905f62" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">10</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Changes in operating assets and liabilities:</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Accounts receivable-trade</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" id="Fact_5424d672fafd4e0cbf3d8e43738c6a53" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">107</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" id="Fact_d02809ab88bb40f780cdf4fc913e8732" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">244</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Inventory</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" id="Fact_2b3c5c939c0e4e0a9bc7cd7e07bde41d" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">231</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" id="Fact_8f745eb069a742b1bbeaa8e9f0d5868f" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">328</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Prepaid expenses</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" id="Fact_e1b12d02b76b49f9ae6dbbd882f67f23" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">202</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" id="Fact_3d204800cd09444ba41f79a01ffac441" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">210</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Other current assets</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" id="Fact_a1d6c388298f4cea90482b12f2a31243" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" id="Fact_87cd2d4748a943dd92bf9c5df1c549a9" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">34</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Accounts payable-trade</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" id="Fact_3b8d107a13144373b9158e674fe267e8" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">752</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">)</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" id="Fact_de592280c00842dab87e5b262cdc5402" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,739</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Accrued expenses and other liabilities</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" id="Fact_6d90beee338c4b75bc65d0a916bae4a2" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">462</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" id="Fact_acc332000d81458788c8cad6ef6e4d6a" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,527</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Income taxes, net</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" id="Fact_b07de2bf45024c2c96f88c926ee61398" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">84</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" id="Fact_89f2cb1668a34b10906c36180e708ca5" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">905</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Other assets</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" id="Fact_8c1d4c5b88f248d1976c66f46695329b" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">45</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">)</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" id="Fact_fe027eebaf2548c08b1163aa40ebfe24" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Operating lease liabilities</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" id="Fact_ca465b7e6362489a916541a213f9f713" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">3,598</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" id="Fact_4ded6a8148484c438d6515dd2bf7be58" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">3,362</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0);">Total adjustments</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" id="Fact_b57f8c8a5a784e5caf8fffc2e41be5c9" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">769</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" id="Fact_1b9703cfee6242028bb9f73eee52130f" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">73</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: center; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">
                    <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Net cash provided by operating activities</div>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" id="Fact_b9383d22bdcf4327a5027fabff2c19b4" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,537</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" id="Fact_6d6f38e91d224dbbbd59daa9457077d0" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,154</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Cash flows from investing activities:</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Purchase of property and equipment</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" id="Fact_2c4bd63a5b314d568d5765a381f87499" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">576</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" id="Fact_3cfd344850ff44349e00ec5e107a2865" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">635</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Proceeds from sales of assets</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfProductiveAssets" id="Fact_d89c28af61cd43aaba4b0e5761eeb181" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfProductiveAssets" id="Fact_a10d8f3126ed4fa8bcc1513a2e79b222" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: center; width: 76%; padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">
                    <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Net cash used in investing activities</div>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" id="Fact_d6563e6f947d4a87b2566658682c4bd9" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">576</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" id="Fact_974d0f8d58194488a39f8be8bc388da4" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">625</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Cash flows from financing activities:</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Payments on long-term debt</div>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;"><ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" id="Fact_513ed6a156d648fba4247ddc0603a2ca" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">(<ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" id="Fact_35171912c57d4a64b93b9eb1fe2c07e7" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">359</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">)</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">Payment of finance lease obligations<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:FinanceLeasePrincipalPayments" id="Fact_7c72ebeb7bab418f82e1729c1dcf391e" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:FinanceLeasePrincipalPayments" id="Fact_c7b4e43c6d144ac18f3ba8577fb5818a" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">14</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0);">Repurchase of common stock</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" id="Fact_1f4d203a9d274cce9893c5e9edba34af" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">11</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" id="Fact_703e690d56af44c2b2dd990a16c047ba" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,798</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: center; width: 76%; padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">
                    <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Net cash used in financing activities</div>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" id="Fact_e73ead8fcfb84eb78d5ae75c1eac28be" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">26</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" id="Fact_62e8cba5fcc74e4ba75ad550874bac05" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">2,171</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0);">Effect of exchange rate changes on cash and cash equivalents</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;"><ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_abcab2775b754319bbca4fdddbb12fdf" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">249</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_9617385612854727ad3e1d0abc60c67a" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">538</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0);">Net increase (decrease) in cash and cash equivalents</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" id="Fact_e4673cd3911447288b80bec770e7092c" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,184</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" id="Fact_44e30c5c7e1143eb9d9ae919449341ef" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">2,180</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0);">Cash and cash equivalents, beginning of period</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_62a7c8459a9643c3b15fcf6a82702204" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,975</ix:nonFraction><br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_56c34c9ef3f044f588c6776892b01afd" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,155</ix:nonFraction><br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Cash and cash equivalents, end of period</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_057acdba41c34ab8b661edbf198183df" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,159</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_df588460d1ea4d81808cf3e58265d75e" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,975</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>


</table>
        </div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">The accompanying notes are an integral part of these Consolidated Financial Statements.</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">31</span></div>

          <div class="BRPFPageBreak" style="page-break-after: always;">
            <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;">Tandy Leather Factory, Inc.</span> </div>

        <div>
          <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;">Consolidated Statements of Cash Flows&#160;- continued</span></div>

        </div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;">(amounts in thousands)</span> </div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;"> </span><br/>
        </div>

        <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="6">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">For the Years Ended December 31,</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
                </div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022<br/>
                </div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Supplemental disclosures of cash flow information:</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Interest paid during the period</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InterestPaidNet" id="Fact_fce0a3ea12f8439e9f009dffb6d0c691" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InterestPaidNet" id="Fact_69d807ea3d86412693139a82be484e2b" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Income tax paid (refunded) during the period, net<br/>
                </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" id="Fact_56e823bbfe8f412e8ad4d6f3079634e9" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">984</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"></div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" id="Fact_87df72d78359466194f5a485106bb965" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">430</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">
                  <div style="font-weight: bold;">Supplemental disclosures of non-cash activity:</div>
                </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" rowspan="1">Operating lease assets obtained in exchange for lease liabilities, net<br/>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">$</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1"><ix:nonFraction name="tlfa:NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" id="Fact_b3781610032340478f592f1c083c9cd0" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,396</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">$</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1"><ix:nonFraction name="tlfa:NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" id="Fact_3b77ceab09f2431cbcc7411385c47de2" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,884</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>


</table>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">The accompanying notes are an integral part of these Consolidated Financial Statements.</div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

        <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">32</span></div>

          <div class="BRPFPageBreak" style="page-break-after: always;">
            <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;">Tandy Leather Factory, Inc.</span> </div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;">Condensed Consolidated Statements of Stockholders&#8217; Equity</span> </div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;">(amounts in thousands, except share data)</span> </div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;"> <br/>
          </span></div>

        <div><span style="font-weight: bold;"> </span></div>

        <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; font-weight: bold; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Number of </div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Shares<br/>
                </div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Common Stock</div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Outstanding</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Par Value</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"> Paid-in Capital</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"> Treasury Stock</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Retained </div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Earnings</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Accumulated </div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Other Comprehensive<br/>
                </div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"> Income (Loss)</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Total</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Balance, December 31, 2021</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:SharesOutstanding" id="Fact_0eb72c3bfe514f7dae4bfcc8151e6088" contextRef="c20211231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,547,335</ix:nonFraction><br/>
                </div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_1cb1715020f6489eb11eede6b04cacc0" contextRef="c20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">24</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_68c1124b966e4195a8789ad35ea663cc" contextRef="c20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,959</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_4570bf978a8442c19fabbb0a0fb3a4ec" contextRef="c20211231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">9,773</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_525ce822be0441c88f1c2c8956b2d836" contextRef="c20211231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">58,664</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_08c437b8b8a840a9b1a2fe46631bf5a7" contextRef="c20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,373</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><br/>
                </div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_0e92b5d42ba740b084e65f7005a8d94e" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">51,501</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
                <div style="color: rgb(0, 0, 0);">Stock-based compensation expense</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);">-</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_ce26ad8e4787467cb43d95f70cd967f6" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_1563256a6a124f3894460794005ff322" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,060</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_80db54fdc6234369ade02a304acea4d5" contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_7f347ce6e162430e83a21bbdfa40a5bf" contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_a0cdc378778645388cd7a9b4ab89bdc0" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_0bb83eb4da2b4a38ba3009f70fd2870b" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,060</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Issuance of restricted stock</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" id="Fact_33c196595e944d5eb6ff12a5c07be625" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">140,277</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_34786df5da6f4eaaabca74cd92dab42b" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_d7671f2157dd4f15b62b5be6cd09b262" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_117baa91b0ad4e26850219625f262c49" contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_ee5f3b3827b64868a6ef178b3957ef1e" contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_768e4563fc5f4ccda809f0bb6381cb39" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_19d6d8302db142c09f3f6c0a9c2da916" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;" rowspan="1">
                <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Purchase of vested stock for employee payroll tax</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" id="Fact_db4194d7e11342ea829c2bb22ae0c976" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">34,362</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">)</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_02420ab7c1b240d1b46a402aee91f791" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_b86570131e774b61a48e84e0c7557f82" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_b7a6c60553084699a497f37e5c1f7e55" contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_a8c4a01786e041aba7a3e3318eb5ef82" contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_7e65ad04dc9140b9a12e191611146231" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_3374c53ed40c4ad6a75919b31549a8d6" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: rgb(204, 238, 255);" rowspan="1">
                <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Repurchase of common stock</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" id="Fact_76da40d4dd674e49acea67036b95c80e" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">360,100</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">)</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_18e8c6cefd4b45c2830c72d5f974bec3" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">)</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_75c730584b8244d3946feb7b94d74436" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,797</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">)</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_d5643dfe3eeb46218b50971d8525a6a4" contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_bd0f4c057ad04ac39517ac2656bf6916" contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_911f1a70451f41a3ad9529bf42a91200" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_4c2820dc1c104a1e8f7483cd1d0d25f5" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,798</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">)</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
                <div style="text-align: justify; color: rgb(0, 0, 0);">Net income</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);">-</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_411f6d34f6d84d949d0864e72ab17ecb" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_c4269bc55ed94a7682ef367d8e62e60c" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_f448f60fb57441eab734d7134e5cdd6b" contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_b31a061aa8194d5593efe3905a286aae" contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,227</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_640694b659a342b0954f9fa533c0a9f4" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_3464df03c4d64e7a837c7b6e85363f58" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,227</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                <div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); text-align: left;">Foreign currency translation adjustments, net of tax</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);">-</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_65887d55c68e4a419ae94c09f8371147" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_8bb06aba746d4439a31d4e57f68298e2" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_388d1d06ad6f49228c3232c5b0d4e1e3" contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_e34d582d75304c5f95d8a7eed951b52a" contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_c1141e97c03045fd894a8e887b985f89" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">527</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_cbefbad27446425096715af2ac277ca1" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">527</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Balance, December 31, 2022</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:SharesOutstanding" id="Fact_206b00f4566d4128a7567dc4e7ce27f4" contextRef="c20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,293,150</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_f08a90ccb4874a09bbf581778aa5779f" contextRef="c20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_4e1545420ead4313a53248bfe5aa0820" contextRef="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,222</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_8fd6ff74e35d41b0bcc5b2515c3bd85b" contextRef="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">9,773</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_9b58a46e4ef744aa90157df1211ca994" contextRef="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">59,891</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_5436c989786349d2b5a08cc97bb9377a" contextRef="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,900</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_003212342ee749d0bb90def58bfe7097" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">51,463</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Stock-based compensation expense</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);">-</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_b6be9c5ff10540268d334fdde9867e0b" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_cdffce660c094e07932b94bee986635a" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">770</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_197ab3a6e1034f14a609fb8104ba2599" contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_3e6f99a4eb884531afa754797eaff13b" contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_a1a13755a1da48ba944d4c441ea779db" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_dc899b628f9c41328f824bcb41e668f4" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">770</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
                <div style="color: rgb(0, 0, 0);">Issuance of restricted stock</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" id="Fact_7b92e1ff498a49c7acbfc5b150396b69" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">108,796</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_75604c086ee94de8a79ed2c340919821" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_b0a095fa202143518184730c3eb00927" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_3fc4f619e9464477a3b6a9177e132fd2" contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_bcbb0d3373574f91983c56784051b785" contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_374d98be5ed94103ad52c5151988358f" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_adba5fc63fdb4f8b889dbafbee0b1573" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none; width: 16%; background-color: rgb(204, 238, 255);" rowspan="1"><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: left; white-space: normal; word-spacing: 0px; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">Repurchase of common stock</span></td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" id="Fact_c5979ad5d6074d0fa5abe09938fcbd68" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">2,701</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">)</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_d5ed941506244e46b070f2b2cdc10530" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_4039bbf315dc4376a61e43a7e09e46f8" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">11</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">)</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_48d8ee08112f4298a821dea3a02942eb" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">11</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" rowspan="1" colspan="1">)</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
                <div style="text-align: justify; color: rgb(0, 0, 0);">Net income<br/>
                </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);">-</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_7b0471a753014f199deba4f4eed67a25" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_66786e895acc4998bac40b3fd4c4e7c8" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_0646d67c65914f8a94a26bee05ebf8d7" contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_d7ed93e19b0745da9a4aacfab1cd221b" contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,768</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_de85d516748148418363526361c5478b" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_6f252f35dafa4829a77ea2f6120e7ef0" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,768</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: rgb(204, 238, 255); padding-bottom: 2px;">
                <div style="text-align: justify; color: rgb(0, 0, 0);">Foreign currency translation adjustments, net<br/>
                </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0);">-</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_5489b4baba8646d6b84d6959db0e7844" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_1b8677a048bf438cbc7e36462525c039" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_9e3124ffcc0947b2a62443f0bccbea88" contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_aa7e527d45ea4b7898d083b1f9a1749b" contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_c56f916e5a604e8bb7a2ae31f1c39808" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">356</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_f2bbd7f0f7cc46d491b79b9a876de4e9" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">356</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; padding-bottom: 4px;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Balance, December 31, 2023</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:SharesOutstanding" id="Fact_7e002552071b4bdaaaccfe6660896bd3" contextRef="c20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,399,245</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><br/>
                </div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_bfe8c1acd35945f29955977d997e2d5d" contextRef="c20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><br/>
                </div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_fda2a94b42f54dd98e2a79552189e230" contextRef="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,981</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><br/>
                </div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_1cf00575a69a4343994c6602d2489dec" contextRef="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">9,773</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><br/>
                </div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_3b8390b2dd504c96aaaf56be5f480f85" contextRef="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">63,659</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><br/>
                </div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_ee7446d4bd3449ce85d9d6953d7a155a" contextRef="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,544</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><br/>
                </div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_229a2553224a46d381a26a1b57726d12" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">56,346</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">The accompanying notes are an integral part of these Consolidated Financial Statements.</div>

        <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

        <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">33</span></div>

          <div style="page-break-after: always;" class="BRPFPageBreak">
            <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

        <!--PROfilePageNumberReset%Num%38%%%--> </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">TANDY LEATHER FACTORY, INC.</div>

        <div style="font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"><!--Anchor-->NOTES<!--Anchor--> TO CONSOLIDATED FINANCIAL STATEMENTS</div>

        <div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">DECEMBER 31, 2023 and 2022</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>


        <ix:nonNumeric name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" id="Text_99ac89c3380f4399b85fa6bfe612d27e" contextRef="c20230101to20231231" escape="true" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b5131">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">1.&#160; DESCRIPTION OF BUSINESS</div>
</ix:nonNumeric>
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b5131" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b5132">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b5132" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b5133">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Tandy Leather Factory, Inc. (&#8220;TLF,&#8221; &#8220;we,&#8221; &#8220;our,&#8221; &#8220;us,&#8221; the &#8220;Company,&#8221; &#8220;Tandy,&#8221; or &#8220;Tandy Leather&#8221; mean Tandy Leather Factory, Inc., together with its subsidiaries)
          is one of the world&#8217;s largest specialty retailers of leather and leathercraft-related items.&#160; Founded in 1919 in Fort Worth, Texas, the Company introduced leathercrafting to millions of American and later Canadian and other international
          customers and has built a track record as the trusted source of quality leather, tools, hardware, supplies, kits and teaching materials for leatherworkers everywhere.&#160; Today, our mission remains to build on our legacy of inspiring the timeless
          art and trade of leatherworking.</div>
</ix:continuation>
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b5133" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b5134">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b5134" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b5135">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">What differentiates Tandy from the competition is our high brand awareness and strong brand equity and loyalty, our network of retail stores that provides
          convenience, a high-touch customer service experience, and a hub for the local leathercrafting community, and our 100-year heritage.&#160; We believe that this combination of qualities is unique to Tandy and gives the brand competitive advantages that
          are difficult for others to replicate.</div>
</ix:continuation>
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b5135" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b5136">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b5136" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b5137">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">We sell our products
          primarily through company-owned stores and through orders generated from our global websites, and through direct account representatives in our commercial division.&#160; We produce leather lace, cut leather pieces and most of the do-it-yourself kits
          that are sold in our stores and on our websites.&#160; We also offer production services to our business customers such as cutting (&#8220;clicking&#8221;) and splitting and some assembly.&#160;&#160; We maintain our principal offices at 1900 Southeast Loop 820, Fort
          Worth, Texas 76140.</div>
</ix:continuation>
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b5137" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b5138">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b5138" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b5139">
<div style="text-align: justify; color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt;">The Company currently operates a total of <ix:nonFraction name="us-gaap:NumberOfStores" id="Fact_069d25df695a4ca2b1b0f6f0c6f14fe9" contextRef="c20231231" unitRef="U004" decimals="0" scale="0" format="ixt:num-dot-decimal">102</ix:nonFraction>
          retail stores.&#160; There are <ix:nonFraction name="us-gaap:NumberOfStores" id="Fact_6ec4b6626e0a4ad9b05bfd427faa46c2" contextRef="c20231231_StatementGeographicalAxis_US" unitRef="U004" decimals="0" scale="0" format="ixt:num-dot-decimal">91</ix:nonFraction> stores in the United States (&#8220;U.S.&#8221;), <ix:nonFraction name="us-gaap:NumberOfStores" id="Fact_e26ce39213ad4971b4fe5b37f4210885" contextRef="c20231231_StatementGeographicalAxis_CA" unitRef="U004" decimals="INF" scale="0" format="ixt-sec:numwordsen">ten</ix:nonFraction> stores in Canada and <ix:nonFraction name="us-gaap:NumberOfStores" id="Fact_9a279aab611b44a780178cbb6b704495" contextRef="c20231231_StatementGeographicalAxis_ES" unitRef="U004" decimals="INF" scale="0" format="ixt-sec:numwordsen">one</ix:nonFraction> store in Spain.</div>
</ix:continuation>
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b5139" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b51310">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span> </div>
</ix:continuation>
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b51310" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b51311">
<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span></div>
</ix:continuation>
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b51311" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b51312">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">The Company&#8217;s common shares currently trade on Nasdaq Capital Market under the symbol &#8220;TLF.&#8221;</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-align: justify; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"><br/>
          </span></div>
</ix:continuation>
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b51312" continuedAt="Text_c5c2f6970e90405d8fc6c8bd50a9b51313">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <!--PROfilePageNumberReset%Num%39%%%-->
        <ix:continuation id="Text_c5c2f6970e90405d8fc6c8bd50a9b51313">
<div style="text-align: justify; color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt;">We operate as a <span style="-sec-ix-hidden:Fact_48fc0c1dc93f4cba8024c854b02a1b0e"><span style="-sec-ix-hidden:Fact_084ff30487d54523a598a9e14e78cfd0">single</span></span>
          segment and report on a consolidated basis.<br/>
        </div>
</ix:continuation>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);"> <div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

    <div>
      <div>
        <ix:nonNumeric name="us-gaap:SignificantAccountingPoliciesTextBlock" id="Text_24bc7b0b6b494d1f8c8fb54eaf848425" contextRef="c20230101to20231231" escape="true" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a251">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">2.&#160; SIGNIFICANT ACCOUNTING POLICIES</div>
</ix:nonNumeric>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a251" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a252">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a252" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a253"><ix:nonNumeric name="us-gaap:UseOfEstimates" id="Text_eeded4e988e046239bdf73d183544e80" contextRef="c20230101to20231231" escape="true" continuedAt="Text_76684bbb880c4d38a0156114d68cb97d1">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Management estimates and reporting</span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a253" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a254"><ix:continuation id="Text_76684bbb880c4d38a0156114d68cb97d1" continuedAt="Text_76684bbb880c4d38a0156114d68cb97d2">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a254" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a255"><ix:continuation id="Text_76684bbb880c4d38a0156114d68cb97d2" continuedAt="Text_76684bbb880c4d38a0156114d68cb97d3">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a255" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a256"><ix:continuation id="Text_76684bbb880c4d38a0156114d68cb97d3" continuedAt="Text_76684bbb880c4d38a0156114d68cb97d4">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a256" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a257"><ix:continuation id="Text_76684bbb880c4d38a0156114d68cb97d4">
<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">The preparation of the Company&#8217;s Consolidated Financial Statements in accordance with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;)
            requires the use of estimates that affect the reported value of assets, liabilities, revenues and expenses.&#160; These estimates are based on historical experience and various other factors that are believed to be reasonable under the
            circumstances, the results of which form the basis for the Company&#8217;s conclusions.&#160; The Company continually evaluates the information used to make these estimates as the business and the economic environment changes.&#160; Actual results may differ
            from these estimates, and estimates are subject to change due to modifications in the underlying conditions or assumptions.&#160; The policies discussed below require estimates that contain a significant degree of judgement.&#160; The use of estimates is
            pervasive throughout the Consolidated Financial Statements, but the accounting policies and estimates considered most significant are as follows.</div>
</ix:continuation></ix:continuation>
        </div>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a257" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a258">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';">  </span></div>
</ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a258" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a259">
<div><br/>
        </div>
</ix:continuation>
        <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">34</span></div>

          <div class="BRPFPageBreak" style="page-break-after: always;">
            <hr style="border-width: 0px; clear: both; margin-top: 4px; margin-bottom: 4px; width: 100%; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

        <ix:nonNumeric name="us-gaap:ConsolidationPolicyTextBlock" id="Text_87f6d85e241141fea312fecb4edc9313" contextRef="c20230101to20231231" escape="true" continuedAt="Text_335e84e8b11e425d9da400ab1e8c8eea1"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a259" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2510">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:nonNumeric>
        <ix:continuation id="Text_335e84e8b11e425d9da400ab1e8c8eea1" continuedAt="Text_335e84e8b11e425d9da400ab1e8c8eea2"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2510" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2511">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Principles of consolidation</span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_335e84e8b11e425d9da400ab1e8c8eea2" continuedAt="Text_335e84e8b11e425d9da400ab1e8c8eea3"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2511" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2512">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_335e84e8b11e425d9da400ab1e8c8eea3" continuedAt="Text_335e84e8b11e425d9da400ab1e8c8eea4"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2512" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2513">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_335e84e8b11e425d9da400ab1e8c8eea4" continuedAt="Text_335e84e8b11e425d9da400ab1e8c8eea5"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2513" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2514">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_335e84e8b11e425d9da400ab1e8c8eea5"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2514" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2515">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Our Consolidated Financial Statements include the accounts of Tandy Leather Factory, Inc. and its active wholly-owned subsidiaries, The Leather Factory, L.P. (a
          Texas limited partnership), Tandy Leather Company, L.P. (a Texas limited partnership), The Leather Factory of Canada, Ltd. (a Canadian corporation), and Tandy Leather Factory Espa&#241;a, S.L. (a Spanish corporation).&#160; All intercompany accounts and
          transactions have been eliminated in consolidation.</div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2515" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2516">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> <br/>
        </span></div>
</ix:continuation>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;">
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2516" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2517"><ix:nonNumeric name="tlfa:DeconsolidationOfForeignSubsidiariesPolicyTextBlock" id="Text_a4d7bdbb22f44ddebf273934c455abe2" contextRef="c20230101to20231231" escape="true" continuedAt="Text_71fcbe426fa84519b4aac91ed89381701">
<div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; text-align: justify; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><span style="text-decoration: underline;">Deconsolidation of
              Foreign Subsidiaries</span></div>
</ix:nonNumeric></ix:continuation>
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2517" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2518"><ix:continuation id="Text_71fcbe426fa84519b4aac91ed89381701" continuedAt="Text_71fcbe426fa84519b4aac91ed89381702">
<div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; text-align: left;"><span style="text-decoration: underline;"> <br/>
            </span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2518" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2519"><ix:continuation id="Text_71fcbe426fa84519b4aac91ed89381702">
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(33, 37, 41); font-style: normal; font-variant: normal; text-transform: none;">The UK and
            Australia entities were legally terminated in 2023 and as a result of the termination, we deconsolidated our UK and Australia entities and the impact of the deconsolidation resulted in a $<ix:nonFraction name="us-gaap:DeconsolidationGainOrLossAmount" id="Fact_25b6c00b06ea4c5ea29810204fd7cfb7" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" sign="-" format="ixt:num-dot-decimal">0.5</ix:nonFraction> million loss that is reported as part of &#8220;Other, net&#8221; on the consolidated statement of operations and comprehensive income.</div>
</ix:continuation></ix:continuation>

          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2519" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2520">
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left;">&#160;</div>
</ix:continuation>
        </div>

      </div>


      <div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2520" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2521"><ix:nonNumeric name="us-gaap:ComparabilityOfPriorYearFinancialData" id="Text_73a334b087b84f99b2aaa3d2b9196851" contextRef="c20230101to20231231" escape="true" continuedAt="Text_3cbd8f2a05644fcab1ead64b989d8d5f1">
<div><span style="font-weight: bold;"><span style="text-decoration: underline;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Correction of an error in previously issued financial statements</span></span><br/>
        </span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2521" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2522"><ix:continuation id="Text_3cbd8f2a05644fcab1ead64b989d8d5f1" continuedAt="Text_3cbd8f2a05644fcab1ead64b989d8d5f2">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: bold;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2522" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2523"><ix:continuation id="Text_3cbd8f2a05644fcab1ead64b989d8d5f2" continuedAt="Text_3cbd8f2a05644fcab1ead64b989d8d5f3">
<div><span style="font-weight: bold;"> </span></div>
</ix:continuation></ix:continuation>
        <div style="text-align: justify;">
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2523" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2524"><ix:continuation id="Text_3cbd8f2a05644fcab1ead64b989d8d5f3">
<div style="text-align: justify;"><span style="font-weight: bold;"><span style="font-weight: normal;"><span style="font-weight: normal; color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">The 2022 consolidated financial statements included an out of period adjustment that was the result of unreconciled inventory receipts for in-transit inventory, which were identified in the fourth quarter of
                  2022. We corrected misstatements in the first three quarters of fiscal year 2023 as disclosed in our 2022 10-K, we reduced inventory and accounts payable balances by approximately $<ix:nonFraction name="us-gaap:AccountsPayableTradeCurrent" id="Fact_e0457cc4851f473080f3d6c1142fd3f0" contextRef="c20231231_RestatementAxis_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" unitRef="U001" decimals="-5" scale="6" sign="-" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_30fdceb55fe3420f87d4719a5e8fb742" contextRef="c20231231_RestatementAxis_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" unitRef="U001" decimals="-5" scale="6" sign="-" format="ixt:num-dot-decimal">0.9</ix:nonFraction></ix:nonFraction> million, and adjusted changes to inventory and accounts payable in the operating activities section of the consolidated statements of cash flows by the same
                  amount. There is no impact of this adjustment to the consolidated statements of operations and comprehensive income or retained earnings.</span></span><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
              </span> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span> </div>
</ix:continuation></ix:continuation>

          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2524" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2525">
<div style="color: rgb(33, 37, 41); font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;"> <br/>
            </span></div>
</ix:continuation>

          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2525" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2526"><ix:nonNumeric name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="Text_073101a9ae144921b5ccb3c5bbf587d7" contextRef="c20230101to20231231" escape="true" continuedAt="Text_ae8b99ef33064fb6b65138842aea11911">
<div style="color: rgb(33, 37, 41); font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Cash and cash equivalents</span></div>
</ix:nonNumeric></ix:continuation>
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2526" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2527"><ix:continuation id="Text_ae8b99ef33064fb6b65138842aea11911" continuedAt="Text_ae8b99ef33064fb6b65138842aea11912">
<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2527" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2528"><ix:continuation id="Text_ae8b99ef33064fb6b65138842aea11912" continuedAt="Text_ae8b99ef33064fb6b65138842aea11913">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2528" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2529"><ix:continuation id="Text_ae8b99ef33064fb6b65138842aea11913" continuedAt="Text_ae8b99ef33064fb6b65138842aea11914">
<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2529" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2530"><ix:continuation id="Text_ae8b99ef33064fb6b65138842aea11914">
<div style="color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;">The Company considers investments with a maturity when purchased of three months or less to be cash equivalents.&#160; All
            credit card, debit card and electronic transfer transactions that process in less than ninety days including our T-Bills are classified as cash and cash equivalents.</div>
</ix:continuation></ix:continuation><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2530" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2531">
<div>
          <span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>
</ix:continuation>
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2531" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2532">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>
</ix:continuation><ix:nonNumeric name="us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" id="Text_c87e7b5004e747d8b895030832df094d" contextRef="c20230101to20231231" escape="true" continuedAt="Text_c6c04eb387fa4017b5ae2fd3b04800421"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2532" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2533">
<div><span style="font-weight: bold;"> </span>
          <span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-weight: bold;"> </span><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"> </span></div>
</ix:continuation></ix:nonNumeric>
          <ix:continuation id="Text_c6c04eb387fa4017b5ae2fd3b04800421" continuedAt="Text_c6c04eb387fa4017b5ae2fd3b04800422"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2533" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2534">
<div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Accounts receivable and expected credit losses</span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_c6c04eb387fa4017b5ae2fd3b04800422" continuedAt="Text_c6c04eb387fa4017b5ae2fd3b04800423"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2534" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2535">
<div><span style="font-weight: bold;"> <span style="font-style: normal;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span> </span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_c6c04eb387fa4017b5ae2fd3b04800423" continuedAt="Text_c6c04eb387fa4017b5ae2fd3b04800424"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2535" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2536">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_c6c04eb387fa4017b5ae2fd3b04800424" continuedAt="Text_c6c04eb387fa4017b5ae2fd3b04800425"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2536" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2537">
<div><span style="font-weight: bold;"> </span></div>
</ix:continuation></ix:continuation>
          <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:continuation id="Text_c6c04eb387fa4017b5ae2fd3b04800425" continuedAt="Text_c6c04eb387fa4017b5ae2fd3b04800426"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2537" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2538">
<div><span style="font-weight: bold;"> </span></div>
</ix:continuation></ix:continuation>
            <ix:continuation id="Text_c6c04eb387fa4017b5ae2fd3b04800426" continuedAt="Text_c6c04eb387fa4017b5ae2fd3b04800427"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2538" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2539">
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;">Our receivables primarily arise from the sale of merchandise to customers that have applied for and been granted
              credit.&#160; Accounts receivable are stated at amounts due, net of an allowance for doubtful accounts.&#160; Accounts receivable are generally due within 30 days of invoicing.&#160; Our accounts receivable balance as of December 31, 2023, December 31, 2022
              and January 1, 2022 was $<ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_f00dbd14b1244cceb6eb79cd04e9a1fc" contextRef="c20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.3</ix:nonFraction> million, $<ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_af93dcfe0fa84a7e854d5a3b8d9c552b" contextRef="c20221231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.4</ix:nonFraction>
              million, and $<ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_43df49ab35e142da8d19feeffb6de367" contextRef="c20211231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.6</ix:nonFraction> million, respectively.</div>
</ix:continuation></ix:continuation>
            <ix:continuation id="Text_c6c04eb387fa4017b5ae2fd3b04800427" continuedAt="Text_c6c04eb387fa4017b5ae2fd3b04800428"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2539" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2540">
<div><span style="font-weight: normal;"> </span></div>
</ix:continuation></ix:continuation>
            <ix:continuation id="Text_c6c04eb387fa4017b5ae2fd3b04800428" continuedAt="Text_c6c04eb387fa4017b5ae2fd3b04800429"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2540" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2541">
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: normal;"><br/>
              </span> </div>
</ix:continuation></ix:continuation>
            <ix:continuation id="Text_c6c04eb387fa4017b5ae2fd3b04800429" continuedAt="Text_c6c04eb387fa4017b5ae2fd3b048004210"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2541" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2542">
<div><span style="font-weight: normal;"> </span></div>
</ix:continuation></ix:continuation>
            <ix:continuation id="Text_c6c04eb387fa4017b5ae2fd3b048004210"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2542" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2543">
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;">We estimate expected credit losses based on factors such as the composition of accounts receivable, the age of the
              accounts, historical bad debt experience, and our evaluation of the financial condition and past collection history of each customer.&#160; Management believes that the historical loss information it has compiled is a reasonable base on which to
              determine expected credit losses for trade receivables held at December 31, 2023, because the composition of the trade receivables at that date is consistent with that used in developing the historical credit-loss percentages (i.e., the
              similar risk characteristics of its customers and its credit practices have not changed significantly over time).&#160; Accordingly, the allowance for expected credit losses at December 31, 2023, December 31, 2022, and January 1, 2022 each totaled
              less than $<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" id="Fact_f0593d2ec6294770a3af51695aa0c078" contextRef="c20211231_RangeAxis_MaximumMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" id="Fact_b651bcce4e814473bc41d4b4e99ade9c" contextRef="c20231231_RangeAxis_MaximumMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" id="Fact_a2b5d602b4b348f693e00095bbe72f2e" contextRef="c20221231_RangeAxis_MaximumMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.1</ix:nonFraction></ix:nonFraction></ix:nonFraction> million.</div>
</ix:continuation></ix:continuation><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2543" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2544">
<div><span style="font-weight: bold;"> </span>
            <span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"> </span></div>
</ix:continuation></div>

          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2544" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2545">
<div><span style="font-weight: bold;"> </span></div>
</ix:continuation>
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2545" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2546">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>
</ix:continuation>
          <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="width: 100%;" class="BRPFPageFooter"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">35</span></div>

            <div class="BRPFPageBreak" style="page-break-after: always;">
              <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

            <div style="width: 100%;" class="BRPFPageHeader">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>
<ix:nonNumeric name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="Text_d5b39dc6e93e4273812d11437813372d" contextRef="c20230101to20231231" escape="true" continuedAt="Text_b5e6ac3030e94fc7938710a52c9ddef91"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2546" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2547">
<div><span style="font-weight: bold;"> </span>
          <!--PROfilePageNumberReset%Num%41%%%--><span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-weight: bold;"> </span><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"> </span></div>
</ix:continuation></ix:nonNumeric>
          <ix:continuation id="Text_b5e6ac3030e94fc7938710a52c9ddef91" continuedAt="Text_b5e6ac3030e94fc7938710a52c9ddef92"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2547" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2548">
<div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Foreign currency translation and transactions</span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_b5e6ac3030e94fc7938710a52c9ddef92" continuedAt="Text_b5e6ac3030e94fc7938710a52c9ddef93"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2548" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2549">
<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_b5e6ac3030e94fc7938710a52c9ddef93" continuedAt="Text_b5e6ac3030e94fc7938710a52c9ddef94"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2549" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2550">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_b5e6ac3030e94fc7938710a52c9ddef94" continuedAt="Text_b5e6ac3030e94fc7938710a52c9ddef95"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2550" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2551">
<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_b5e6ac3030e94fc7938710a52c9ddef95" continuedAt="Text_b5e6ac3030e94fc7938710a52c9ddef96"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2551" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2552">
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;">Foreign currency translation adjustments arise from activities of our foreign
              subsidiaries.&#160; Results of operations are translated into U.S. dollars using the average exchange rates during the period, while assets and liabilities are translated using period-end exchange rates.&#160; Foreign currency translation adjustments
              are recorded in stockholders&#8217; equity, net of tax.&#160; For the years ended December 31, 2023 and 2022, we recorded foreign currency translation gain of $<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" id="Fact_767743da71f5402c99e5efa9497a3336" contextRef="c20230101to20231231_RangeAxis_MaximumMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.4</ix:nonFraction>
              million and<span style="font-size: 10pt; font-family: 'Times New Roman';"> loss adjustments of</span> $<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" id="Fact_1cadd265da70466c9ea2a9bd49cd6a39" contextRef="c20220101to20221231_RangeAxis_MaximumMember" unitRef="U001" decimals="-5" scale="6" sign="-" format="ixt:num-dot-decimal">0.5</ix:nonFraction> million, respectively.<br/>
            </span> </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_b5e6ac3030e94fc7938710a52c9ddef96" continuedAt="Text_b5e6ac3030e94fc7938710a52c9ddef97"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2552" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2553">
<div><span style="font-weight: normal;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_b5e6ac3030e94fc7938710a52c9ddef97" continuedAt="Text_b5e6ac3030e94fc7938710a52c9ddef98"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2553" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2554">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"><br/>
            </span> </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_b5e6ac3030e94fc7938710a52c9ddef98" continuedAt="Text_b5e6ac3030e94fc7938710a52c9ddef99"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2554" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2555">
<div style="text-align: justify;"> <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">The
              deconsolidation of the UK and Australia entities resulted in a $<ix:nonFraction name="us-gaap:DeconsolidationGainOrLossAmount" id="Fact_c9081308bd21452db635c28c5b88bfe3" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" sign="-" format="ixt:num-dot-decimal">0.5</ix:nonFraction> million loss reclassification adjustment out of accumulated
              other comprehensive income (loss) which is reported net within the &#8220;Foreign currently translation gain (loss), net&#8221;.</span></div>
</ix:continuation></ix:continuation>
        </div>

        <div><ix:continuation id="Text_b5e6ac3030e94fc7938710a52c9ddef99" continuedAt="Text_b5e6ac3030e94fc7938710a52c9ddef910"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2555" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2556">
<div><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"><br/>
          </span> <span style="font-weight: normal;"> </span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_b5e6ac3030e94fc7938710a52c9ddef910"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2556" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2557">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;"><span style="font-weight: normal;">Gains and losses resulting from foreign currency transactions are recorded in other, net within
                the statements of operations and comprehensive income.</span><br/>
            </span> </div>
</ix:continuation></ix:continuation><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2557" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2558">
<div><span style="font-weight: bold;"> </span>
          <span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-weight: bold;"> </span><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"> </span></div>
</ix:continuation>
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2558" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2559">
<div><span style="font-weight: bold;"><br/>
            </span> </div>
</ix:continuation><ix:nonNumeric name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="Text_d540d3f0a0234d1dae56fad89330def7" contextRef="c20230101to20231231" escape="true" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f1"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2559" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2560">
<div>
          <span style="font-weight: bold;"> </span></div>
</ix:continuation></ix:nonNumeric>
          <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f1" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f2"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2560" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2561">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Revenue recognition</span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f2" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f3"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2561" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2562">
<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f3" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f4"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2562" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2563">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f4" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f5"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2563" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2564">
<div><span style="font-weight: bold;"> </span></div>
</ix:continuation></ix:continuation>
          <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f5" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f6"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2564" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2565">
<div><span style="font-weight: bold;"> </span></div>
</ix:continuation></ix:continuation>
            <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f6" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f7"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2565" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2566">
<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;">Our revenue is earned from sales of merchandise and generally occurs via three methods: (1) at the store counter, (2) shipment of product
              generally via web sales, and (3) sales of product directly to commercial customers through our commercial account representatives.&#160; We recognize revenue when we satisfy the performance obligation of transferring control of product merchandise
              over to a customer. At the store counter, our performance obligation is met, and revenue is recognized when a sales transaction occurs with a customer.&#160; Our performance obligation for 2) and 3) are met when merchandise is shipped to a
              customer, and revenue is recognized when control passes to the customer.&#160; Shipping terms are normally free on board (&#8220;FOB&#8221;) shipping point and control passes when the merchandise is shipped to the customer.&#160; Sales tax and comparable foreign
              tax is excluded from net sales, while shipping charged to our customers is included in net sales.&#160; Net sales is based on the amount of consideration that we expect to receive, reduced by estimates for future merchandise returns.&#160; As of
              December 31, 2022, January 1, 2023, and December 31, 2023, we had received approximately $<ix:nonFraction name="us-gaap:DeferredRevenue" id="Fact_bbc1838d25be4d17872208857e8b0b5a" contextRef="c20231231_BalanceSheetLocationAxis_OtherLiabilitiesMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.3</ix:nonFraction> million, $<ix:nonFraction name="us-gaap:DeferredRevenue" id="Fact_70c9880f95dc4e859f941cc75a13f021" contextRef="c20221231_BalanceSheetLocationAxis_OtherLiabilitiesMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.3</ix:nonFraction> million, and $<ix:nonFraction name="us-gaap:DeferredRevenue" id="Fact_137ea4960c0f450eaf972bc116a150ea" contextRef="c20211231_BalanceSheetLocationAxis_OtherLiabilitiesMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.3</ix:nonFraction> million in
              credit card payments that had not shipped as of the end of the year and this was recorded in deferred revenue under other liabilities on the Balance Sheet.</div>
</ix:continuation></ix:continuation>
          </div>

          <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f7" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f8"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2566" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2567">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f8" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f9"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2567" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2568">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
            </span> </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f9" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f10"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2568" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2569">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation></div>

      </div>

      <div>
        <div style="text-align: justify;">
          <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
            <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f10" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f11"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2569" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2570">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">The sales return allowance included in accrued expense and other liabilities was </span>$<ix:nonFraction name="us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" id="Fact_d4b9628c4b424a2a82b3509c22567675" contextRef="c20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.2</ix:nonFraction> million, $<ix:nonFraction name="us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" id="Fact_149c3a113c124901917e8ef3f21e3e13" contextRef="c20221231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.1</ix:nonFraction> million, and $<ix:nonFraction name="us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" id="Fact_de4564ef74cd4d5686daabb044c30450" contextRef="c20211231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.2</ix:nonFraction> million as of December 31, 2023 and 2022 and January 1, 2022 respectively.<span style="font-size: 10pt; font-family: 'Times New Roman';">&#160; The
                estimated value of merchandise expected to be returned included in other current assets was less than $<ix:nonFraction name="tlfa:InventoryMerchandiseExpectedToBeReturned" id="Fact_ada32bb4fd8b456cb07ea32b8145e44f" contextRef="c20231231_RangeAxis_MaximumMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="tlfa:InventoryMerchandiseExpectedToBeReturned" id="Fact_a51c18261fc7444abce682c3f6dfd070" contextRef="c20221231_RangeAxis_MaximumMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="tlfa:InventoryMerchandiseExpectedToBeReturned" id="Fact_46e847b0ec2a40918751f6b329b8a842" contextRef="c20211231_RangeAxis_MaximumMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.1</ix:nonFraction></ix:nonFraction></ix:nonFraction> million</span> as
              of December 31, 2023 and 2022 and January 1, 2022. </div>
</ix:continuation></ix:continuation>
          </div>

        </div>

        <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f11" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f12"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2570" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2571">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f12" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f13"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2571" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2572">
<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f13" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f14"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2572" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2573">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: justify; white-space: normal; word-spacing: 0px; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">We record a gift card
            liability for the unfulfilled performance obligation on the date we issue a gift card to a customer.&#160; We record revenue and reduce the gift card liability as the customer redeems the gift card.&#160; In addition, for gift card breakage, we recognize
            a proportionate amount for the expected unredeemed gift cards over the expected customer redemption period, which is <ix:nonNumeric name="tlfa:GiftCardRedemptionPeriod" id="Fact_308a07b1d3ed41a893e0574c3d542086" contextRef="c20230101to20231231" format="ixt-sec:durwordsen">one year</ix:nonNumeric>. We
            include our gift card liability in accrued expenses and other liabilities.&#160; On January 1, 2023, the opening balance of the gift card liability was $<ix:nonFraction name="us-gaap:ContractWithCustomerLiability" id="Fact_c594dd8763e54a218970a0533c50134a" contextRef="c20221231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.3</ix:nonFraction>
            million.&#160; During 2023, we issued $<ix:nonFraction name="tlfa:ContractWithCustomerLiabilityForGiftCardsIssued" id="Fact_d5aabd82eaf74165b7e1254ab542b1e5" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.5</ix:nonFraction> million of gift cards, and $<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" id="Fact_c3389c45f5de46fb8ec55ed97fdc45a3" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.5</ix:nonFraction> million of gift cards were redeemed and recognized as revenue. At December 31, 2023, our gift card liability balance was $<ix:nonFraction name="us-gaap:ContractWithCustomerLiability" id="Fact_58b808c6696e40a699b5b7af32f6ce68" contextRef="c20231231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.2</ix:nonFraction> million. On January 1, 2022 and December 31, 2022, the gift card liability was $<ix:nonFraction name="us-gaap:ContractWithCustomerLiability" id="Fact_96d066c52ccd4523b370855e25835332" contextRef="c20211231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.4</ix:nonFraction> and $<ix:nonFraction name="us-gaap:ContractWithCustomerLiability" id="Fact_1f0c56ebb61c4896bb2861b56e96d5dd" contextRef="c20221231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.3</ix:nonFraction> million respectively. </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f14" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f15"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2573" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2574">
<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-variant: normal; text-transform: none;"><br/>
          </span></div>
</ix:continuation></ix:continuation>
        <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">36</span></div>

          <div class="BRPFPageBreak" style="page-break-after: always;">
            <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

        <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f15" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f16"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2574" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2575">
<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-variant: normal; text-transform: none;"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f16" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f17"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2575" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2576">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-style: normal; font-weight: bold;"><span style="text-decoration: underline;">Disaggregated revenue</span></span><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f17" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f18"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2576" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2577">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-style: italic;"> <br/>
            </span></span></div>
</ix:continuation></ix:continuation><ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f18" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f19"><ix:nonNumeric name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Text_6007e43be8914a6d91dd5b77289f49a7" contextRef="c20230101to20231231" escape="true" continuedAt="Text_8189b3cc03bb442bae6c681bcadcbae61"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2577" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2578">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span>
         </div>
</ix:continuation></ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f19" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f20"><ix:continuation id="Text_8189b3cc03bb442bae6c681bcadcbae61" continuedAt="Text_8189b3cc03bb442bae6c681bcadcbae62"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2578" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2579">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">In the following table, revenue for the years ended December 31, 2023 and 2022 is disaggregated by geographic areas as follows:</div>
</ix:continuation></ix:continuation></ix:continuation>
        <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f20" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f21"><ix:continuation id="Text_8189b3cc03bb442bae6c681bcadcbae62" continuedAt="Text_8189b3cc03bb442bae6c681bcadcbae63"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2579" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2580">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation></ix:continuation>
        <!--PROfilePageNumberReset%Num%42%%%-->
        <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f21" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f22"><ix:continuation id="Text_8189b3cc03bb442bae6c681bcadcbae63"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2580" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2581">
<table cellspacing="0" cellpadding="0" border="0" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">(in thousands)</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">2023<br/>
                  </span> </div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">2022<br/>
                  </span> </div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_7b37647f18b94a87945ba8ece9660e44" contextRef="c20230101to20231231_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">67,696</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_b4411df6cb2940b9b036a7ca64177132" contextRef="c20220101to20221231_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">71,665</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Canada</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_9e8cf334b00c4164aa0111ba5a917962" contextRef="c20230101to20231231_StatementGeographicalAxis_CA" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,301</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_3968f71230b1402c8941196fcea68bcf" contextRef="c20220101to20221231_StatementGeographicalAxis_CA" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,393</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_6f207a662c6844a39caa629ecea824f6" contextRef="c20230101to20231231_StatementGeographicalAxis_OtherCountriesMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,232</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_4318fe3897114ec083e916ed5eaa6d45" contextRef="c20220101to20221231_StatementGeographicalAxis_OtherCountriesMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,277</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Net sales</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_a61d43e5ddc24ae0b95ce9c423ef9536" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">76,229</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_4b6333cec4374d0d876db47356cce3a8" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">80,335</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
          <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f22" continuedAt="Text_07ba7f07410c4f2e8f1c386c86e3226f23"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2581" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2582">
<div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left;"> <br/>
          </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_07ba7f07410c4f2e8f1c386c86e3226f23"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2582" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2583">
<div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left;">Geographic sales information is based on the location where the order was fulfilled.</div>
</ix:continuation></ix:continuation>
           </div>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2583" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2584">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2584" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2585"><ix:nonNumeric name="tlfa:RevenueRecognitionDiscountsPolicyTextBlock" id="Text_1ec238e1b2324374b27e5a805e9cbae7" contextRef="c20230101to20231231" escape="true" continuedAt="Text_adcd8df07122436190a55862bac7a4a91">
<div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Discounts</span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2585" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2586"><ix:continuation id="Text_adcd8df07122436190a55862bac7a4a91" continuedAt="Text_adcd8df07122436190a55862bac7a4a92">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2586" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2587"><ix:continuation id="Text_adcd8df07122436190a55862bac7a4a92">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We offer <ix:nonFraction name="tlfa:NumberOfClassesOfCustomerDiscounts" id="Fact_65fcc3f9d18f4bc2b8260dc91fe7b812" contextRef="c20230101to20231231" unitRef="U006" decimals="INF" scale="0" format="ixt-sec:numwordsen">six</ix:nonFraction> classes of customer discounts:&#160; 1)
          Retail, 2) Military/First Responder, 3) Business, 4) Commercial, 5) Commercial Pro, and 6) Employees. There are no other classes of discounts and any discounts given will fall into one of these <ix:nonFraction name="tlfa:NumberOfClassesOfCustomerDiscounts" id="Fact_fa34692aee4e4b91a5b255984d595487" contextRef="c20230101to20231231" unitRef="U006" decimals="INF" scale="0" format="ixt-sec:numwordsen">six</ix:nonFraction> categories.&#160; Such discounts are not deemed to be variable consideration nor convey a material right to these customers since the discounted pricing they receive in a
          discount class is not incremental to others within the same class and there is no retrospective impact of such discounts.&#160; As a result, sales are reported after deduction of discounts at the point of sale.&#160; We do not pay slotting fees or make
          other payments to resellers.<br/>
        </div>
</ix:continuation></ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2587" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2588">
<div><br/>
        </div>
</ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2588" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2589"><ix:nonNumeric name="us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock" id="Text_5dc36e480e0046258028feac0452b4ae" contextRef="c20230101to20231231" escape="true" continuedAt="Text_0a72eb5ea0b34a28a009ed6525ca04d31">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-weight: bold;"><span style="text-decoration: underline;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">Operating&#160;expense</span></span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2589" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2590"><ix:continuation id="Text_0a72eb5ea0b34a28a009ed6525ca04d31" continuedAt="Text_0a72eb5ea0b34a28a009ed6525ca04d32">
<div><span style="font-weight: bold;"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2590" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2591"><ix:continuation id="Text_0a72eb5ea0b34a28a009ed6525ca04d32" continuedAt="Text_0a72eb5ea0b34a28a009ed6525ca04d33">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2591" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2592"><ix:continuation id="Text_0a72eb5ea0b34a28a009ed6525ca04d33">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Operating expenses include all selling, general and administrative costs, including wages and benefits, rent and occupancy costs, depreciation, advertising, store
          operating expenses, outbound freight charges (to ship merchandise to customers), and corporate office costs.</div>
</ix:continuation></ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2592" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2593">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2593" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2594"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="Text_8a9ba2ada80443f1b33396fc5d08c09c" contextRef="c20230101to20231231" escape="true" continuedAt="Text_240e5deecab646ca8e2400615bac585b1">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Property and equipment, net of accumulated depreciation</span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2594" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2595"><ix:continuation id="Text_240e5deecab646ca8e2400615bac585b1" continuedAt="Text_240e5deecab646ca8e2400615bac585b2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2595" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2596"><ix:continuation id="Text_240e5deecab646ca8e2400615bac585b2">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Property and equipment are stated at cost.&#160; Depreciation is computed using the straight-line method over the estimated useful lives of the assets, which are <span style="-sec-ix-hidden:Fact_5c4f4734e8fa4f9ab6d9ff25cd28ad7b">three</span> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_aba63aaceabe40608b7d9949c5956a7b" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MaximumMember" format="ixt-sec:durwordsen">ten years</ix:nonNumeric> for equipment and
          machinery, <span style="-sec-ix-hidden:Fact_af8ec3d5fde44ae9a32304dda2a30171">seven</span> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_a4c328c6a80d4175a5db5e084fc5ed5c" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MaximumMember" format="ixt-sec:durwordsen">fifteen years</ix:nonNumeric>
          for furniture and fixtures, <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_23fd0915c78a43309cfd35f9c28574a7" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember" format="ixt-sec:durwordsen">five years</ix:nonNumeric> for vehicles, and <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_cfc703e1b3654ddb8df58233d0ad4bef" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_BuildingAndBuildingImprovementsMember" format="ixt-sec:durwordsen">forty years</ix:nonNumeric> for buildings and related improvements.&#160; Leasehold improvements are amortized over the lesser of the life of the lease or the useful life of the asset.&#160; Repairs and maintenance
          costs are expensed as incurred.</div>
</ix:continuation></ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2596" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2597">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2597" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2598"><ix:nonNumeric name="us-gaap:InventoryPolicyTextBlock" id="Text_6dfc427eeaa94c46b2b8d2c033c3a143" contextRef="c20230101to20231231" escape="true" continuedAt="Text_a01aff6102c7411e8127c5058db014851">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Inventory</span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2598" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a2599"><ix:continuation id="Text_a01aff6102c7411e8127c5058db014851" continuedAt="Text_a01aff6102c7411e8127c5058db014852">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a2599" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25100"><ix:continuation id="Text_a01aff6102c7411e8127c5058db014852" continuedAt="Text_a01aff6102c7411e8127c5058db014853">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25100" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25101"><ix:continuation id="Text_a01aff6102c7411e8127c5058db014853" continuedAt="Text_a01aff6102c7411e8127c5058db014854">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25101" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25102"><ix:continuation id="Text_a01aff6102c7411e8127c5058db014854" continuedAt="Text_a01aff6102c7411e8127c5058db014855">
<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">Inventory is stated at the lower of first-in, first-out (&#8220;FIFO&#8221;) cost or net realizable value, and the FIFO layers are maintained at the location level.&#160; Finished
          goods held for sale include the cost of merchandise purchases, the costs to bring the merchandise to our Texas distribution center, warehousing and handling expenditures, and distributing and delivering merchandise to our stores.&#160; These costs
          include depreciation of long-lived assets utilized in acquiring, warehousing and distributing inventory.&#160; Assembled inventory including raw materials and work-in-process is valued on a first-in, first-out basis using full absorption accounting
          which includes material, labor, and other applicable assembly overhead. &#160;</div>
</ix:continuation></ix:continuation>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

        <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">37</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
            </a> </div>

        </div>

      </div>

      <div><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25102" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25103"><ix:continuation id="Text_a01aff6102c7411e8127c5058db014855" continuedAt="Text_a01aff6102c7411e8127c5058db014856">
<div>Carrying values of inventory are analyzed and, to the extent that the cost of inventory exceeds the net realizable value, provisions are made to reduce the carrying amount of the inventory.
        </div>
</ix:continuation></ix:continuation><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25103" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25104"><ix:continuation id="Text_a01aff6102c7411e8127c5058db014856" continuedAt="Text_a01aff6102c7411e8127c5058db014857">
<div><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25104" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25105"><ix:continuation id="Text_a01aff6102c7411e8127c5058db014857" continuedAt="Text_a01aff6102c7411e8127c5058db014858">
<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25105" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25106"><ix:continuation id="Text_a01aff6102c7411e8127c5058db014858" continuedAt="Text_a01aff6102c7411e8127c5058db014859">
<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">We regularly review all inventory items to determine if
          there are (i) damaged goods (e.g., for leather, excessive scars or damage from ultra-violet (&#8220;UV&#8221;) light), (ii) items that need to be removed from our product line (e.g., slow-moving items, inability of a supplier to provide items of acceptable
          quality or quantity, and to maintain freshness in the product line) and (iii) pricing actions that need to be taken to adequately value our inventory at the lower of cost or net realizable value.&#160; Since the determination of net realizable value
          of inventory involves both estimation and judgement with regard to market values and reasonable costs to sell, differences in these estimates could result in ultimate valuations that differ from the recorded asset.</div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25106" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25107"><ix:continuation id="Text_a01aff6102c7411e8127c5058db014859" continuedAt="Text_a01aff6102c7411e8127c5058db0148510">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25107" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25108"><ix:continuation id="Text_a01aff6102c7411e8127c5058db0148510" continuedAt="Text_a01aff6102c7411e8127c5058db0148511">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <!--PROfilePageNumberReset%Num%43%%%--> <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25108" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25109"><ix:continuation id="Text_a01aff6102c7411e8127c5058db0148511" continuedAt="Text_a01aff6102c7411e8127c5058db0148512">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25109" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25110"><ix:continuation id="Text_a01aff6102c7411e8127c5058db0148512" continuedAt="Text_a01aff6102c7411e8127c5058db0148513">
<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">The majority of inventory purchases and commitments are made in U.S. dollars in order to limit the Company&#8217;s exposure to foreign currency fluctuations.&#160; Goods
          shipped to us are recorded as inventory owned by us when the risk of loss shifts to us from the supplier.</div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25110" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25111"><ix:continuation id="Text_a01aff6102c7411e8127c5058db0148513" continuedAt="Text_a01aff6102c7411e8127c5058db0148514">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25111" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25112"><ix:continuation id="Text_a01aff6102c7411e8127c5058db0148514" continuedAt="Text_a01aff6102c7411e8127c5058db0148515">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25112" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25113"><ix:continuation id="Text_a01aff6102c7411e8127c5058db0148515">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Inventory is physically counted twice annually in the Texas distribution center.&#160; At the store level, inventory is physically counted each
          quarter.&#160; Inventory is then adjusted in our accounting system to reflect actual count results.</div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25113" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25114">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';">  </span></div>
</ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25114" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25115">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:nonNumeric name="us-gaap:LesseeLeasesPolicyTextBlock" id="Text_451efcfafc9649d3ad6046a5bf1782ff" contextRef="c20230101to20231231" escape="true" continuedAt="Text_ce74889a13824303863d0fb0ba19fe581"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25115" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25116">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';">  </span></div>
</ix:continuation></ix:nonNumeric>
        <ix:continuation id="Text_ce74889a13824303863d0fb0ba19fe581" continuedAt="Text_ce74889a13824303863d0fb0ba19fe582"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25116" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25117">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Leases</span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_ce74889a13824303863d0fb0ba19fe582" continuedAt="Text_ce74889a13824303863d0fb0ba19fe583"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25117" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25118">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_ce74889a13824303863d0fb0ba19fe583" continuedAt="Text_ce74889a13824303863d0fb0ba19fe584"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25118" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25119">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_ce74889a13824303863d0fb0ba19fe584" continuedAt="Text_ce74889a13824303863d0fb0ba19fe585"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25119" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25120">
<div style="text-align: justify;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;">We lease certain real estate for our retail
            store locations and warehouse equipment for our Texas distribution center, both under long-term lease agreements.&#160; We determine if an arrangement is a lease at inception and recognize right-of-use (&#8220;ROU&#8221;) assets and lease liabilities at
            commencement date based on the present value of the lease payments over the lease term.&#160; We elected not to record leases with an initial term of 12 months or less on the balance sheet for all our asset classes. The depreciable life of related
            leasehold improvements is based on the shorter of the useful life or the lease term.</span> <br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_ce74889a13824303863d0fb0ba19fe585" continuedAt="Text_ce74889a13824303863d0fb0ba19fe586"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25120" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25121">
<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_ce74889a13824303863d0fb0ba19fe586" continuedAt="Text_ce74889a13824303863d0fb0ba19fe587"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25121" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25122">
<div style="text-align: justify;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;">For operating leases, the present value of
            our lease payments may include: (1) rental payments adjusted for inflation or market rates, and (2) lease terms with options to renew the lease or options to purchase leased equipment, when it is reasonably certain we will exercise such an
            option.&#160; The exercise of lease renewal or purchase option is generally at our discretion.&#160; Payments based on a change in an index or market rate are not considered in the determination of lease payments for purposes of measuring the related
            lease liability.&#160; We discount lease payments using our incremental borrowing rate based on information available as of the measurement date.</span><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_ce74889a13824303863d0fb0ba19fe587" continuedAt="Text_ce74889a13824303863d0fb0ba19fe588"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25122" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25123">
<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"> <br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_ce74889a13824303863d0fb0ba19fe588" continuedAt="Text_ce74889a13824303863d0fb0ba19fe589"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25123" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25124">
<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">We recognize rent expense related to our operating leases on a straight-line basis over the lease term.&#160; Rent expense is recorded in operating expenses.<br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_ce74889a13824303863d0fb0ba19fe589" continuedAt="Text_ce74889a13824303863d0fb0ba19fe5810"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25124" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25125">
<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"> <br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_ce74889a13824303863d0fb0ba19fe5810" continuedAt="Text_ce74889a13824303863d0fb0ba19fe5811"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25125" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25126">
<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">For finance leases, our right-of-use assets are amortized on a straight-line basis over the earlier of the useful life of the right-of-use asset or the end of the
          lease term with rent expense recorded to operating expenses.&#160; We adjust the lease liability to reflect lease payments made during the period and interest incurred on the lease liability using the effective interest method. The remaining asset
          balance in our finance lease is only residual value and only an insignificant interest expense of less than $<ix:nonFraction name="us-gaap:FinanceLeaseInterestExpense" id="Fact_63795d32ade7468fba4a211aed5fcaaa" contextRef="c20230101to20231231_RangeAxis_MaximumMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">100</ix:nonFraction> dollars was incurred
          and is recorded on the consolidated statements of operations and comprehensive income.<br/>
          <br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_ce74889a13824303863d0fb0ba19fe5811"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25126" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25127">
<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">None of our lease agreements contain material residual value guarantees or material restrictive covenants.&#160; We do not have any contingent rental payment agreements.
          On September 8, 2022, we entered into a concession agreement for our store on the Fort Liberty (formerly Fort Bragg) military base in which the concession payment was based on a sliding scale percentage of sales.&#160; At the end of November, 2023, we
          closed that store. We have no sublease agreements and no lease agreements in which we are named as a lessor.&#160; Refer to Note 4, Leases for further discussion of the Company&#8217;s leases.<br/>
        </div>
</ix:continuation></ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25127" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25128">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation>
        <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">38</span></div>

          <div class="BRPFPageBreak" style="page-break-after: always;">
            <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>


        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25128" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25129"><ix:nonNumeric name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="Text_b9ed0c0715e042778bb8325d2461696f" contextRef="c20230101to20231231" escape="true" continuedAt="Text_387e2f965779407a9d4b64d72c7b35fb1">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Impairment of long-lived assets</span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25129" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25130"><ix:continuation id="Text_387e2f965779407a9d4b64d72c7b35fb1" continuedAt="Text_387e2f965779407a9d4b64d72c7b35fb2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25130" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25131"><ix:continuation id="Text_387e2f965779407a9d4b64d72c7b35fb2" continuedAt="Text_387e2f965779407a9d4b64d72c7b35fb3">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We evaluate long-lived assets on a quarterly basis to identify events or changes in circumstances (&#8220;triggering events&#8221;) that indicate the carrying value of certain
          assets may not be recoverable.&#160; Upon the occurrence of a triggering event, right-of-use (&#8220;ROU&#8221;) lease assets, property and equipment and definite-lived intangible assets are reviewed for impairment and an impairment loss is recorded in the period
          in which it is determined that the carrying amount of the assets is not recoverable.&#160; The determination of recoverability is made based upon the estimated undiscounted future net cash flows of assets grouped at the lowest level for which there
          are identifiable cash flows independent of the cash flows of other groups of assets with such cash flows to be realized over the estimated remaining useful life of the primary asset within the asset group.&#160; The Company determined the lowest level
          of identifiable cash flows that are independent of other asset groups to be primarily at the individual store level.&#160; If the estimated undiscounted future net cash flows for a given store are less than the carrying amount of the related store
          assets, an impairment loss is determined by comparing the estimated fair value with the carrying value of the related assets.&#160; The impairment loss is then allocated across the asset group&#8217;s major classifications which in this case are operating
          lease assets and property and equipment. Triggering events at the store level could include material declines in operational and financial performance or planned changes in the use of assets, such as store relocation or store closure.&#160; This
          evaluation requires management to make judgements relating to future cash flows, growth rates and economic and market conditions.&#160; The fair value of an asset group is estimated using a discounted cash flow valuation method.<br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25131" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25132"><ix:continuation id="Text_387e2f965779407a9d4b64d72c7b35fb3" continuedAt="Text_387e2f965779407a9d4b64d72c7b35fb4">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <!--PROfilePageNumberReset%Num%44%%%-->
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25132" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25133"><ix:continuation id="Text_387e2f965779407a9d4b64d72c7b35fb4">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For the years ended December 31, 2023 and 2022, <ix:nonFraction name="us-gaap:ImpairmentOfLongLivedAssetsHeldForUse" id="Fact_990d3a3968c649d1bc11f220d4081920" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:ImpairmentOfLongLivedAssetsHeldForUse" id="Fact_1803fda22be84730a4c604e27e6f57af" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction>
          impairment expense was recognized.<br/>
        </div>
</ix:continuation></ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25133" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25134">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25134" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25135"><ix:nonNumeric name="us-gaap:EarningsPerSharePolicyTextBlock" id="Text_93471391294040c1a63efeab231f88ec" contextRef="c20230101to20231231" escape="true" continuedAt="Text_9df955846bca42f2b7717d56252b46ad1">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Earnings per share</span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25135" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25136"><ix:continuation id="Text_9df955846bca42f2b7717d56252b46ad1" continuedAt="Text_9df955846bca42f2b7717d56252b46ad2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25136" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25137"><ix:continuation id="Text_9df955846bca42f2b7717d56252b46ad2" continuedAt="Text_9df955846bca42f2b7717d56252b46ad3">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Basic earnings per share (&#8220;EPS&#8221;) are computed based on the weighted average number of common shares outstanding during the period.&#160; Diluted EPS includes additional
          common shares that would have been outstanding if potential common shares with a dilutive effect, such as stock awards from the Company&#8217;s restricted stock plan, had been issued.&#160; Anti-dilutive securities represent potentially dilutive securities
          which are excluded from the computation of diluted EPS as their impact would be anti-dilutive.&#160; <ix:nonNumeric name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Text_41bc520499e24174a82e4af851a40a12" contextRef="c20230101to20231231" escape="true" continuedAt="Text_a385c81cf43e48bab48365d1593946f11"><span style="font-family: 'Times New Roman'; font-size: 10pt; color: rgb(0, 0, 0);">Diluted EPS is computed using the treasury stock method.</span></ix:nonNumeric></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_a385c81cf43e48bab48365d1593946f11" continuedAt="Text_a385c81cf43e48bab48365d1593946f12"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25137" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25138"><ix:continuation id="Text_9df955846bca42f2b7717d56252b46ad3" continuedAt="Text_9df955846bca42f2b7717d56252b46ad4">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation></ix:continuation>
        <ix:continuation id="Text_a385c81cf43e48bab48365d1593946f12" continuedAt="Text_a385c81cf43e48bab48365d1593946f13"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25138" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25139"><ix:continuation id="Text_9df955846bca42f2b7717d56252b46ad4" continuedAt="Text_9df955846bca42f2b7717d56252b46ad5">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">(in thousands, except share data)</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">&#160;</sup><span style="font-family: 'Times New Roman'; font-size: 10pt;">2023 </span></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">2022<br/>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Numerator:</div>
              </td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Net income<br/>
                  </div>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_4ec8663e4dcf4082813211b1a01c5d2a" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,768</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_ff1898a55372465ba9093ae4f37d1c0d" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,227</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"></div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Denominator:</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Basic weighted-average common shares outstanding<br/>
                  </div>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_5071ea73c763433fb4d860bd5a65b10a" contextRef="c20230101to20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,339,658</ix:nonFraction></div>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_6732701e0f7445938fbbdd947b42d5bb" contextRef="c20220101to20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,363,390</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Dilutive effect of service-based restricted stock awards granted to Board of Directors under the Plan</div>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_6cdfe11d126d4d1e8ef4e43a122aea7e" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">3,218</ix:nonFraction></div>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_37be379fe1374d12a515ceb410149b30" contextRef="c20220101to20221231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,735</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt;">
                <div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); text-align: left;">Dilutive effect of service-based restricted stock awards granted to employees under the Plan</div>
              </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_8df56d5cd4bf4ea989c12015a0670a4f" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">27,100</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_5dcc0f8de60c4e1bbeb75cb11d297bdc" contextRef="c20220101to20221231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">22,442</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Diluted weighted-average common shares outstanding</div>
              </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_f8ad39189f7643f7aa93d73a4950f192" contextRef="c20230101to20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,369,976</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_0f93f93a199c462a913650dd69b6cca3" contextRef="c20220101to20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">8,394,567</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
        <ix:continuation id="Text_a385c81cf43e48bab48365d1593946f13" continuedAt="Text_a385c81cf43e48bab48365d1593946f14"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25139" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25140"><ix:continuation id="Text_9df955846bca42f2b7717d56252b46ad5" continuedAt="Text_9df955846bca42f2b7717d56252b46ad6">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span> </div>
</ix:continuation></ix:continuation></ix:continuation>
        <ix:continuation id="Text_a385c81cf43e48bab48365d1593946f14"><ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25140" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25141"><ix:continuation id="Text_9df955846bca42f2b7717d56252b46ad6" continuedAt="Text_9df955846bca42f2b7717d56252b46ad7">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span>(1) <ix:footnote id="Foot_009a4a80a1ae483fb2b7b892030c3176" footnoteRole="http://www.xbrl.org/2003/role/footnote" xml:lang="en-US">For the years ended December 31, 2023 and 2022, there were <ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares" id="Fact_e089b28029da4092aac40ba3c37d61de" contextRef="c20230101to20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">65,075</ix:nonFraction> and <ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares" id="Fact_d6cf2ecaacb34471b8ca2813e221b626" contextRef="c20220101to20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">90,748</ix:nonFraction> shares,
          respectively, excluded from the diluted EPS calculation because the impact of their assumed vesting would be anti-dilutive.</ix:footnote>
        </div>
</ix:continuation></ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25141" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25142"><ix:continuation id="Text_9df955846bca42f2b7717d56252b46ad7" continuedAt="Text_9df955846bca42f2b7717d56252b46ad8">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation></ix:continuation>
        <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">39</span></div>

          <div class="BRPFPageBreak" style="page-break-after: always;">
            <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25142" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25143"><ix:continuation id="Text_9df955846bca42f2b7717d56252b46ad8">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For additional disclosures regarding restricted stock awards and employee stock options, see Note 10, <span style="font-style: italic;">Stockholders&#8217; Equity &#8211;
            Equity Compensation Plans</span>.</div>
</ix:continuation></ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25143" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25144">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <!--PROfilePageNumberReset%Num%45%%%-->
        <div style="font-family: 'Times New Roman'; text-align: justify; font-style: normal; font-size: 10pt; font-weight: bold;">
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25144" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25145"><ix:nonNumeric name="us-gaap:IntangibleAssetsFiniteLivedPolicy" id="Text_65fe5579168144feac79ecbb9707e0f9" contextRef="c20230101to20231231" escape="true" continuedAt="Text_b648ed2a9f304f5189bf5e6d1e033d951">
<div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: bold; text-align: justify; text-transform: none;"><span style="text-decoration: underline;">Other intangible
              assets</span></div>
</ix:nonNumeric></ix:continuation>
        </div>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25145" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25146"><ix:continuation id="Text_b648ed2a9f304f5189bf5e6d1e033d951" continuedAt="Text_b648ed2a9f304f5189bf5e6d1e033d952">
<div style="font-family: 'Times New Roman'; text-align: justify; font-size: 10pt;"><span style="color: rgb(0, 0, 0);"> <br/>
          </span></div>
</ix:continuation></ix:continuation>
        <div style="font-family: 'Times New Roman'; text-align: justify;">
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25146" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25147"><ix:continuation id="Text_b648ed2a9f304f5189bf5e6d1e033d952">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Our intangible assets and related accumulated amortization relate to trademarks and copyrights that are definite-lived intangibles and are
            subject to amortization.&#160; The weighted average amortization period is<span style="font-family: 'Times New Roman'; font-size: 10pt;"> <ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="Fact_68372c572c1b4741913446552b8a97c6" contextRef="c20230101to20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_IntellectualPropertyMember" format="ixt-sec:duryear">15</ix:nonNumeric>
              years for trademarks and copyrights.&#160; Amortization expense related to other intangible assets was less than $<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" id="Fact_e61f606200ac43fdbd9759e9d0a2154a" contextRef="c20230101to20231231_RangeAxis_MaximumMember" unitRef="U001" decimals="-4" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" id="Fact_98844eb5ed614ee9b2087f69b11b563c" contextRef="c20220101to20221231_RangeAxis_MaximumMember" unitRef="U001" decimals="-4" scale="6" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction> million in
              each of 2023 and 2022 and was recorded in operating expenses.&#160; Based on the current amount of intangible assets subject to amortization, we estimate amortization expense to be less than $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" id="Fact_c2d426cd76a14795819b90bf47d8fe84" contextRef="c20231231_RangeAxis_MaximumMember" unitRef="U001" decimals="-4" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" id="Fact_7d3814e8ea8c46edb92b7aecb3bcc1be" contextRef="c20231231_RangeAxis_MaximumMember" unitRef="U001" decimals="-4" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" id="Fact_4b4eb927ab374fb1b2883f8965f091c0" contextRef="c20231231_RangeAxis_MaximumMember" unitRef="U001" decimals="-4" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" id="Fact_240c97f7a8854b5f9859215d3aeca678" contextRef="c20231231_RangeAxis_MaximumMember" unitRef="U001" decimals="-4" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" id="Fact_0394c09484e6418e99035f368d0f9ade" contextRef="c20231231_RangeAxis_MaximumMember" unitRef="U001" decimals="-4" scale="6" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> million annually over the next five years. Our <span style="font-family: 'Times New Roman'; font-size: 10pt;">&#8220;</span>Other intangible assets&#8221; was fully
              amortized as of December 31, 2023 and is now included in &#8220;Other assets&#8221; on the face of the balance sheet.</span></div>
</ix:continuation></ix:continuation>
        </div>


        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25147" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25148">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25148" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25149"><ix:nonNumeric name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="Text_29c665059477421bb2b38c2644a69acf" contextRef="c20230101to20231231" escape="true" continuedAt="Text_2dfcfee82a084be08cbb86214c2cf8a51">
<div style="font-style: normal; text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Fair value of financial instruments</span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25149" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25150"><ix:continuation id="Text_2dfcfee82a084be08cbb86214c2cf8a51" continuedAt="Text_2dfcfee82a084be08cbb86214c2cf8a52">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25150" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25151"><ix:continuation id="Text_2dfcfee82a084be08cbb86214c2cf8a52" continuedAt="Text_2dfcfee82a084be08cbb86214c2cf8a53">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We measure fair value as an exit price, which is the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between
          market participants.&#160; As a basis for considering such assumptions, accounting standards establish a three-tier fair value hierarchy, which prioritizes the inputs used in the valuation methodologies in measuring fair value:</div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25151" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25152"><ix:continuation id="Text_2dfcfee82a084be08cbb86214c2cf8a53" continuedAt="Text_2dfcfee82a084be08cbb86214c2cf8a54">
<div><br/></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25152" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25153"><ix:continuation id="Text_2dfcfee82a084be08cbb86214c2cf8a54" continuedAt="Text_2dfcfee82a084be08cbb86214c2cf8a55">
<table cellspacing="0" cellpadding="0" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;" class="DSPFListTable">


  <tr>

    <td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">Level 1 &#8211; observable inputs that reflect quoted prices in active markets for identical assets or liabilities.</div>
              </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25153" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25154"><ix:continuation id="Text_2dfcfee82a084be08cbb86214c2cf8a55" continuedAt="Text_2dfcfee82a084be08cbb86214c2cf8a56">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25154" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25155"><ix:continuation id="Text_2dfcfee82a084be08cbb86214c2cf8a56" continuedAt="Text_2dfcfee82a084be08cbb86214c2cf8a57">
<table cellspacing="0" cellpadding="0" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;" class="DSPFListTable">


  <tr>

    <td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">Level 2 &#8211; significant observable inputs other than quoted prices in active markets for similar assets and liabilities, such as quoted prices for identical or
                  similar assets or liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.</div>
              </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25155" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25156"><ix:continuation id="Text_2dfcfee82a084be08cbb86214c2cf8a57" continuedAt="Text_2dfcfee82a084be08cbb86214c2cf8a58">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25156" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25157"><ix:continuation id="Text_2dfcfee82a084be08cbb86214c2cf8a58" continuedAt="Text_2dfcfee82a084be08cbb86214c2cf8a59">
<table cellspacing="0" cellpadding="0" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;" class="DSPFListTable">


  <tr>

    <td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">Level 3 &#8211; significant unobservable inputs reflecting our own assumptions, consistent with reasonably available assumptions made by other market participants.</div>
              </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25157" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25158"><ix:continuation id="Text_2dfcfee82a084be08cbb86214c2cf8a59" continuedAt="Text_2dfcfee82a084be08cbb86214c2cf8a510">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25158" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25159"><ix:continuation id="Text_2dfcfee82a084be08cbb86214c2cf8a510" continuedAt="Text_2dfcfee82a084be08cbb86214c2cf8a511">
<div style="text-align: justify;"> <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;">Classification of the financial asset or
            liability within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement. </span></div>
</ix:continuation></ix:continuation>
        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25159" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25160"><ix:continuation id="Text_2dfcfee82a084be08cbb86214c2cf8a511" continuedAt="Text_2dfcfee82a084be08cbb86214c2cf8a512">
<div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
          </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25160" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25161"><ix:continuation id="Text_2dfcfee82a084be08cbb86214c2cf8a512">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Our principal financial instruments consist of our money market investment or T-Bills maturing less than 90 days, accounts receivable, and
            accounts payable.&#160; As of December 31, 2023 and 2022, the carrying values of our financial instruments, included in our Consolidated Balance Sheets, approximated their fair values.&#160; There were <ix:nonFraction name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" id="Fact_85a8cbcf924b434694305cf28b687085" contextRef="c20220101to20221231" unitRef="U001" decimals="-6" scale="6" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" id="Fact_31e33d30ba6948f1851417f8a6984f12" contextRef="c20230101to20231231" unitRef="U001" decimals="-6" scale="6" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction> transfers into or out of Levels 1, 2 and 3 during the years ended December 31, 2023 and 2022.</div>
</ix:continuation></ix:continuation>
           </div>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25161" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25162">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation>
        <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">40</span></div>

          <div class="BRPFPageBreak" style="page-break-after: always;">
            <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>


        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25162" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25163"><ix:nonNumeric name="us-gaap:IncomeTaxPolicyTextBlock" id="Text_d11872f749fd4ab4abc6a1e71772bc36" contextRef="c20230101to20231231" escape="true" continuedAt="Text_6d488c4cb68d48b98f47186f94f09f9e1">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Income taxes</span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25163" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25164"><ix:continuation id="Text_6d488c4cb68d48b98f47186f94f09f9e1" continuedAt="Text_6d488c4cb68d48b98f47186f94f09f9e2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25164" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25165"><ix:continuation id="Text_6d488c4cb68d48b98f47186f94f09f9e2" continuedAt="Text_6d488c4cb68d48b98f47186f94f09f9e3">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Income taxes are estimated for each jurisdiction in which we operate.&#160; This involves assessing current tax exposure together with temporary differences resulting
          from differing treatment of items for tax and financial statement accounting purposes.&#160; Any resulting deferred tax assets are evaluated for recoverability based on estimated future taxable income.&#160; To the extent it is more-likely-than-not that
          all or a portion of a deferred tax asset will not be realized, a valuation allowance is recorded.&#160; Our evaluation regarding whether a valuation allowance is required or should be adjusted also considers, among other things, the nature, frequency,
          and severity of recent losses, forecasts of future profitability and the duration of statutory carryforward periods.</div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25165" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25166"><ix:continuation id="Text_6d488c4cb68d48b98f47186f94f09f9e3" continuedAt="Text_6d488c4cb68d48b98f47186f94f09f9e4">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25166" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25167"><ix:continuation id="Text_6d488c4cb68d48b98f47186f94f09f9e4" continuedAt="Text_6d488c4cb68d48b98f47186f94f09f9e5">
<div style="text-align: justify;">
          <!--PROfilePageNumberReset%Num%46%%%--> <span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Deferred tax assets and liabilities
            are measured using the enacted tax rates in effect in the years when those temporary differences are expected to reverse.&#160; The effect on deferred taxes from a change in tax rate is recognized through continuing operations in the period that
            includes the enactment date of the change.&#160; Changes in tax laws and rates could affect recorded deferred tax assets and liabilities in the future. </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25167" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25168"><ix:continuation id="Text_6d488c4cb68d48b98f47186f94f09f9e5" continuedAt="Text_6d488c4cb68d48b98f47186f94f09f9e6">
<div><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25168" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25169"><ix:continuation id="Text_6d488c4cb68d48b98f47186f94f09f9e6" continuedAt="Text_6d488c4cb68d48b98f47186f94f09f9e7">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">A tax benefit from an uncertain tax position may be recognized when it is more-likely-than-not that the position will be sustained upon examination, including
          resolutions of any related appeals or litigation processes, based on the technical merits.&#160; Income tax positions must meet a more-likely-than-not recognition threshold to be recognized.</div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25169" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25170"><ix:continuation id="Text_6d488c4cb68d48b98f47186f94f09f9e7" continuedAt="Text_6d488c4cb68d48b98f47186f94f09f9e8">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25170" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25171"><ix:continuation id="Text_6d488c4cb68d48b98f47186f94f09f9e8" continuedAt="Text_6d488c4cb68d48b98f47186f94f09f9e9">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgement changes as a result of the evaluation of new information not
          previously available.&#160; Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax liabilities.&#160; These differences will be reflected as
          increases or decreases to income tax expense and the effective tax rate in the period in which new information becomes available.&#160; We recognize interest and/or penalties related to all tax positions in income tax expense. To the extent that
          accrued interest and penalties do not ultimately become payable, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision in the period that such determination is made.</div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25171" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25172"><ix:continuation id="Text_6d488c4cb68d48b98f47186f94f09f9e9" continuedAt="Text_6d488c4cb68d48b98f47186f94f09f9e10">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25172" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25173"><ix:continuation id="Text_6d488c4cb68d48b98f47186f94f09f9e10">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">We may be subject to periodic audits by the Internal
          Revenue Service and other taxing authorities.&#160; These audits may challenge certain of our tax positions, such as the timing and amount of deductions and allocation of taxable income to the various jurisdictions.</div>
</ix:continuation></ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25173" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25174">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25174" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25175"><ix:nonNumeric name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="Text_a6f036f90cd44ce2aadfd18584cc69c4" contextRef="c20230101to20231231" escape="true" continuedAt="Text_59c7446c7b7b45799457d317fed075091">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Stock-based compensation</span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25175" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25176"><ix:continuation id="Text_59c7446c7b7b45799457d317fed075091" continuedAt="Text_59c7446c7b7b45799457d317fed075092">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25176" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25177"><ix:continuation id="Text_59c7446c7b7b45799457d317fed075092" continuedAt="Text_59c7446c7b7b45799457d317fed075093">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Company&#8217;s stock-based compensation relates primarily to restricted stock unit (&#8220;RSU&#8221;) awards.&#160; Accounting guidance requires measurement and recognition of
          compensation expense at an amount equal to the grant date fair value.&#160; Compensation expense is recognized for service-based stock awards on a straight-line basis or ratably over the requisite service period, based on the closing price of the
          Company&#8217;s stock on the date of grant.&#160; The service-based awards typically vest ratably over the requisite service period, provided that the participant is employed on the vesting date.&#160; Compensation expense is reduced by actual forfeitures as
          they occur over the requisite service period of the awards.</div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25177" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25178"><ix:continuation id="Text_59c7446c7b7b45799457d317fed075093" continuedAt="Text_59c7446c7b7b45799457d317fed075094">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25178" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25179"><ix:continuation id="Text_59c7446c7b7b45799457d317fed075094">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Performance-based RSUs vest, if at all, upon the Company satisfying certain performance targets.&#160; The Company records compensation expense for awards with a
          performance condition when it is probable that the condition will be achieved.&#160; If the Company determines it is not probable a performance condition will be achieved, no compensation expense is recognized.&#160; If the Company changes its assessment
          in a subsequent period and concludes it is probable a performance condition will be achieved, the Company will recognize compensation expense ratably between the period of the change in assessment through the expected date of satisfying the
          performance condition for vesting.&#160; If the Company subsequently assesses that it is no longer probable that a performance condition will be achieved, the accumulated expense that has been previously recognized will be reversed.&#160; The compensation
          expense ultimately recognized, if any, related to performance-based awards will equal the grant date fair value based on the number of shares for which the performance condition has been satisfied.&#160; We issue shares from authorized shares upon the
          lapsing of vesting restrictions on RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards.</div>
</ix:continuation></ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25179" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25180">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation>
        <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">41</span></div>

          <div class="BRPFPageBreak" style="page-break-after: always;">
            <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

        <!--PROfilePageNumberReset%Num%47%%%-->
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25180" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25181"><ix:nonNumeric name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock" id="Text_8bd7b6fe35de4b8fa345f32590066d4a" contextRef="c20230101to20231231" escape="true" continuedAt="Text_70c14ece216748158b8c86fc505786cf1">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Comprehensive income<br/>
          </span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25181" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25182"><ix:continuation id="Text_70c14ece216748158b8c86fc505786cf1" continuedAt="Text_70c14ece216748158b8c86fc505786cf2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
          <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25182" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25183"><ix:continuation id="Text_70c14ece216748158b8c86fc505786cf2">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Comprehensive income includes net income and certain other items that are recorded directly to stockholders&#8217; equity.&#160; The Company&#8217;s only source of other
            comprehensive income is foreign currency translation adjustments, and those adjustments are presented net of tax.</div>
</ix:continuation></ix:continuation>
        </div>


        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25183" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25184">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25184" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25185"><ix:nonNumeric name="tlfa:ShippingAndHandlingCostsPolicyTextBlock" id="Text_8d44ce2702d7449fb3d72eb4dbe4fcc1" contextRef="c20230101to20231231" escape="true" continuedAt="Text_3640d72ce0a14376afd525b3ca124b401">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Shipping and handling costs</span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25185" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25186"><ix:continuation id="Text_3640d72ce0a14376afd525b3ca124b401" continuedAt="Text_3640d72ce0a14376afd525b3ca124b402">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
          <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
            <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25186" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25187"><ix:continuation id="Text_3640d72ce0a14376afd525b3ca124b402">
<div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">Costs to ship products from our stores to our customers are included in operating expenses on the
              Consolidated Statements of Operations and Comprehensive Income.&#160; Total costs were $<ix:nonFraction name="us-gaap:OperatingCostsAndExpenses" id="Fact_a0ede037e9554376a24cb89d7eb477b0" contextRef="c20230101to20231231_ProductOrServiceAxis_ShippingAndHandlingMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">3.2</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:OperatingCostsAndExpenses" id="Fact_9ac918fca363418980121b0739519670" contextRef="c20220101to20221231_ProductOrServiceAxis_ShippingAndHandlingMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">3.5</ix:nonFraction> million for the years ended December 31, 2023, and 2022, respectively.</div>
</ix:continuation></ix:continuation>
             </div>

        </div>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25187" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25188">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25188" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25189"><ix:nonNumeric name="us-gaap:AdvertisingCostsPolicyTextBlock" id="Text_1abf28cfee3a434eaa701609e2e8e6e5" contextRef="c20230101to20231231" escape="true" continuedAt="Text_7d00429b514f4739b674acbfbe1714e11">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Advertising</span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25189" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25190"><ix:continuation id="Text_7d00429b514f4739b674acbfbe1714e11" continuedAt="Text_7d00429b514f4739b674acbfbe1714e12">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25190" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25191"><ix:continuation id="Text_7d00429b514f4739b674acbfbe1714e12">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Advertising costs include the cost of print, digital, direct mail, community events, trade shows, and our e-commerce platform.&#160; Advertising costs are expensed as
          incurred.&#160; Total advertising expense was $<ix:nonFraction name="us-gaap:AdvertisingExpense" id="Fact_28392a2e543b41f284114671360f090b" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.1</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:AdvertisingExpense" id="Fact_18e66c4076a0463791060194a00be08b" contextRef="c20220101to20221231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.2</ix:nonFraction> million in 2023 and 2022, respectively.</div>
</ix:continuation></ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25191" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25192">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation>

        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25192" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25193"><ix:nonNumeric name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Text_774b3aeee22c450f939fb17485a640c7" contextRef="c20230101to20231231" escape="true" continuedAt="Text_66ac5a87650443308221f5b35dc5acb31">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Recently Adopted Accounting Pronouncements</span></div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25193" continuedAt="Text_35b158b91cd846b3b23a77c24cf46a25194"><ix:continuation id="Text_66ac5a87650443308221f5b35dc5acb31" continuedAt="Text_66ac5a87650443308221f5b35dc5acb32">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_35b158b91cd846b3b23a77c24cf46a25194"><ix:continuation id="Text_66ac5a87650443308221f5b35dc5acb32">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">The Company did not adopt any new accounting guidance that was applicable for the year ended December 31, 2023.</div>
</ix:continuation></ix:continuation>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

      </div>

    </div>

    <div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
 </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <ix:nonNumeric name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" id="Text_dc2a37c6c5774ea5a9b8eff04f8ce95d" contextRef="c20230101to20231231" escape="true" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf081">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">3.&#160; BALANCE SHEET COMPONENTS</div>
</ix:nonNumeric>
        <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf081" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf082">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>

        <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf082" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf083"><ix:nonNumeric name="srt:ScheduleOfCondensedBalanceSheetTableTextBlock" id="Text_e0ec7613c21e4c9fa33502617996e8cc" contextRef="c20230101to20231231" escape="true" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e4991">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Inventory</div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf083" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf084"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e4991" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e4992">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf084" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf085"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e4992" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e4993">
<table cellspacing="0" cellpadding="0" border="0" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
                <div style="color: rgb(0, 0, 0);">On hand:</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Finished goods held for sale</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" id="Fact_8b8f46ac2ebc4204a83a15b2944a6df4" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">33,350</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" id="Fact_09249da0cfba4ca78e108426943a354a" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">35,234</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Raw materials and work in process</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InventoryWorkInProcessAndRawMaterials" id="Fact_4c3bf962f00d4775aa084a793c011f34" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,774</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InventoryWorkInProcessAndRawMaterials" id="Fact_1c41a277fedd4b828586f6a36b1c6237" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">925</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Inventory in transit</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherInventoryInTransit" id="Fact_ca9066ad162a4d44a828c1e1d1f037fc" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,869</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherInventoryInTransit" id="Fact_f17aaa2b293044b7960ccad4ef2b54e7" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,068</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_0c2ad6f60b33491c90665e1d807bc666" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">37,993</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_60c4a1f908a04606828e36ad7f97f31d" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">38,227</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf085" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf086"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e4993" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e4994">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation></ix:continuation>
        <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">42</span></div>

          <div class="BRPFPageBreak" style="page-break-after: always;">
            <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

        <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf086" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf087"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e4994" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e4995">
<div><span style="font-weight: bold;"><span style="background-color: rgb(255, 255, 255); font-weight: bold; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Property
            and Equipment</span> </span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf087" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf088"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e4995" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e4996">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation></ix:continuation>
        <!--PROfilePageNumberReset%Num%48%%%-->
        <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf088" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf089"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e4996" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e4997">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">Building</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_319fe71b4f8b4e31b91819707a8c0af4" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_BuildingMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,277</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_135d30cdd9024ea2bfa4b84ce7a82972" contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_BuildingMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,266</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Land</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_bb6e87bb76bc4f0e8d22a34cf03193dc" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_LandMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,451</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_774a8da3c7014a44a4d1adf38b8c3938" contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_LandMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,451</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Leasehold improvements</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_4c3d10bc810c4be9a83427e86a366839" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,875</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_d1bcaf7825314e4caa1e90002abbee2b" contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,870</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Equipment and machinery</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_7bb6bc1ec0c7498ba2c8916bec581844" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,469</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_430febc0ab984a0982dc50d9dc92c266" contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,931</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Furniture and fixtures</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_fae6b677bff045439eb790dcc9d818fc" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,452</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_d103077547274791b136d965e480689d" contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,471</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Vehicles</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_4e4a537ab15c434a8762e2fb0316eab1" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">154</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_14fec43752a645fd8495c6b05cfb000e" contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">135</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_b71982fae5d44408a16315678e853d63" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">28,678</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_d8106b1f5a994f35a669862e272c2518" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">28,124</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Less: accumulated depreciation</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" id="Fact_fd4b417a1f1a4cc283522e6c14fcfc07" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">18,131</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" id="Fact_99a603d5f046437493fc82fb3e66eb1c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">16,962</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_d013043c64694733a1c5a1a1aca29ff3" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,547</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_dddefb1586e1475c9209efedfb058548" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">11,162</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt;">
            <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf089" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf0810"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e4997" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e4998">
<div><br/>
            </div>
</ix:continuation></ix:continuation>
            <div><ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf0810" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf0811"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e4998" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e4999">
<div><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Our property and equipment, net,
                was located in the following countries: </span></div>
</ix:continuation></ix:continuation>
              <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf0811" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf0812"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e4999" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e49910">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </div>
</ix:continuation></ix:continuation>
              <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf0812" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf0813"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e49910" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e49911">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
                      <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                    </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                      <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                      <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0);">United States</div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0);">$</div>
                    </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_b1e2dfccce2b49f5b8eef51895be5a8b" contextRef="c20231231_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,414</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0);">$</div>
                    </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_60f03f0d6f8048739262db129e3fb429" contextRef="c20221231_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,989</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0);">Canada</div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_010cced430ed489893d227a6bde9ef7e" contextRef="c20231231_StatementGeographicalAxis_CA" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">133</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_2509adcb8a4d42b78b865a82539257d9" contextRef="c20221231_StatementGeographicalAxis_CA" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">173</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0);">Spain</div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_784b1f642a964d7da70db450916c9a8f" contextRef="c20231231_StatementGeographicalAxis_ES" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_f25f50e24e844aeeb4d793b6fd73fb98" contextRef="c20221231_StatementGeographicalAxis_ES" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                    </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_55d551d3a9ef41c89e6d948b3c2406e9" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,547</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                    </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_fe45059e33614f6ea51b864681aade6c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">11,162</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
              <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf0813" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf0814"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e49911" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e49912">
<div><br/>
              </div>
</ix:continuation></ix:continuation>
            </div>

          </div>

          <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf0814" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf0815"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e49912" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e49913">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Depreciation expense was $<ix:nonFraction name="us-gaap:Depreciation" id="Fact_912be46ce83e47268ed5fe619b01780c" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.2</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:Depreciation" id="Fact_f9dae97a797d4659bc1885fe9b669b2d" contextRef="c20220101to20221231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.2</ix:nonFraction> million for the years ended December 31, 2023 and 2022, respectively.</div>
</ix:continuation></ix:continuation>
        </div>

        <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf0815" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf0816"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e49913" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e49914">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf0816" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf0817"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e49914" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e49915">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Short-term Liabilities</div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf0817" continuedAt="Text_d5a4676c08654220ab2323f6bb21bf0818"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e49915" continuedAt="Text_c2be3fca7cc34a8db4415ebd0242e49916">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_d5a4676c08654220ab2323f6bb21bf0818"><ix:continuation id="Text_c2be3fca7cc34a8db4415ebd0242e49916">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Accrued Expenses and Other Liabilities</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0);">Accrued employee related costs</div>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" id="Fact_d22b956703764d019b5dfa674d64ce27" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">992</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" id="Fact_c8086c92ff174b62aaca8de10aa898e7" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">977</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Unearned gift card revenue</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" id="Fact_089f4eec087e47838269aef69f91bef2" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">223</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" id="Fact_05cddd27f7284301a370937bef7a0ad9" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">256</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Estimated returns</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:ExpectedMerchandiseReturns" id="Fact_2ed4739753a9484daff346e601b94531" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">523</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:ExpectedMerchandiseReturns" id="Fact_fb696cc1f0cb42778a771f3f7167e945" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">527</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Sales and payroll taxes payable</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:SalesAndPayrollTaxesPayable" id="Fact_0afad1afb88b42d590a63f2e713c3636" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,141</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:SalesAndPayrollTaxesPayable" id="Fact_d2335cb5475c441db8b2b7c80c85c212" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">693</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Accrued vendor payables</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;"><ix:nonFraction name="tlfa:AccruedVendorPayablesCurrent" id="Fact_05fa0702ca4549de9fc95125e651a9fa" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">261</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:AccruedVendorPayablesCurrent" id="Fact_4106404a25ed43d48c6796aec3775a04" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">228</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" id="Fact_28c838c5f04b40718321ef66e673b9d7" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,140</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" id="Fact_f4b370a8b84940b1b1cd3341f660d8d7" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,681</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>


        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <ix:nonNumeric name="us-gaap:LesseeOperatingLeasesTextBlock" id="Text_c903eb85fef84b8c9d4577ca7eb66c79" contextRef="c20230101to20231231" escape="true" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db31">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">4.&#160; LEASES</div>
</ix:nonNumeric>
        <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db31" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db32">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <div>
          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db32" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db33">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">The Company leases certain real estate and warehouse equipment under long-term lease agreements.</div>
</ix:continuation>
          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db33" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db34">
<div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;"> <br/>
          </div>
</ix:continuation>
          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db34" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db35">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">The Company performs interim reviews of its operating and finance lease assets for impairment when evidence exists that the
            carrying value of an asset group, including a lease asset, may not be recoverable. The Company recognized <ix:nonFraction name="us-gaap:OperatingLeaseImpairmentLoss" id="Fact_ca492760d37e4e69873b07e5713dbfb5" contextRef="c20230101to20231231" unitRef="U001" decimals="-6" scale="6" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:OperatingLeaseImpairmentLoss" id="Fact_99a1cf090ee74511a3d8f868c2e9e86e" contextRef="c20220101to20221231_AdjustmentsForNewAccountingPronouncementsAxis_AccountingStandardsUpdate201602Member_RangeAxis_MaximumMember" unitRef="U001" decimals="-6" scale="6" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction> impairment expense
            related to its operating lease assets during the year ended December 31, 2023 or December 31, 2022.</div>
</ix:continuation>
          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db35" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db36">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>
</ix:continuation>
          <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="width: 100%;" class="BRPFPageFooter"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">43</span></div>

            <div class="BRPFPageBreak" style="page-break-after: always;">
              <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

            <div style="width: 100%;" class="BRPFPageHeader">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>


          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db36" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db37"><ix:nonNumeric name="tlfa:LesseeOperatingLeaseAssetsAndLiabilities" id="Text_836c0f5db9b94a09a8fe9cb4f8f54b81" contextRef="c20230101to20231231" escape="true" continuedAt="Text_56f3cacf7ce4488b8fd79df4c943a5661">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Additional information regarding the Company&#8217;s operating and finance leases is as follows (in thousands, except for lease term and discount rate information):<br/>
          </div>
</ix:nonNumeric></ix:continuation>
          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db37" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db38"><ix:continuation id="Text_56f3cacf7ce4488b8fd79df4c943a5661" continuedAt="Text_56f3cacf7ce4488b8fd79df4c943a5662">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db38" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db39"><ix:continuation id="Text_56f3cacf7ce4488b8fd79df4c943a5662">
<div>
            <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); width: 38%; white-space: nowrap;">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Leases</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); width: 37%; white-space: nowrap;">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Balance Sheet Classification</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                    <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                    <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; white-space: nowrap;">
                    <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%;">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Assets:</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);">
                    <div style="color: rgb(0, 0, 0);">Operating</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_b9dfdad94aae4396b495caba99b90ba2"><span style="-sec-ix-hidden:Fact_42175b4cf694408b86a7f31b64515fcc">Operating lease assets</span></span> </div>
                  </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                    <div>$</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                    <div><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" id="Fact_1da6a716672e4bc784437dd256c60141" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,995</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                    <div>$</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                    <div><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" id="Fact_65ede947f7344cb6aca88c23b0e8cb5e" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,742</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; padding-bottom: 2px;">
                    <div style="color: rgb(0, 0, 0);">Finance</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; padding-bottom: 2px;">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_61204fcbee3a4dc2a55825352cedb41c"><span style="-sec-ix-hidden:Fact_191f13dfd1884c7da7e42218f7e403c9">Financing lease assets</span></span> </div>
                  </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                    <div><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAsset" id="Fact_d577751093ce4756af9604cb48705c0b" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                    <div><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAsset" id="Fact_04934000721942c0be18d734ef281e5a" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">31</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Total assets</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                    <div style="font-weight: bold;">$</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                    <div style="font-weight: bold;"><ix:nonFraction name="tlfa:LeaseAssets" id="Fact_9bddec40c0444a98a6c24d84142e2c82" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,018</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                    <div style="font-weight: bold;">$</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                    <div style="font-weight: bold;"><ix:nonFraction name="tlfa:LeaseAssets" id="Fact_34a5efdaaef64abc8dc2fa919589d9a1" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,773</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Liabilities:</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%;">
                    <div style="color: rgb(0, 0, 0);"><span style="text-decoration: underline;">Current</span></div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                    <div style="color: rgb(0, 0, 0);">Operating</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_55612db32bb54f3b80b4f633e166d69b"><span style="-sec-ix-hidden:Fact_287013327779408883a177a55e96ea11">Current portion of operating lease liabilities</span></span> </div>
                  </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                    <div>$</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                    <div><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" id="Fact_f45a121f9dc64d03886bffb8465ad871" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,172</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                    <div>$</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                    <div><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" id="Fact_a96e3c9b9fa3403a923f0465dde6be62" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,881</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%;">
                    <div style="color: rgb(0, 0, 0);">Finance</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%;">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_f125ff13c8854d999c5e5b95ee4888a9"><span style="-sec-ix-hidden:Fact_1d33cc9a62e44f4d9b50719282b6d98b">Current portion of finance lease liabilities</span></span> </div>
                  </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                    <div><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityCurrent" id="Fact_bbcae5398a8d4716826d1549a5e2eb7d" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                    <div><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityCurrent" id="Fact_d9429a917e2348f99cb4a2a0b0b8b1e0" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);">
                    <div style="color: rgb(0, 0, 0);"><span style="text-decoration: underline;">Non-current</span></div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; white-space: nowrap;">
                    <div style="color: rgb(0, 0, 0);">Operating</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%;">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_f6c46685d84545a9adea4c3de34eb85d"><span style="-sec-ix-hidden:Fact_6436e527f2fe40cbbec7271dc63c701e">Operating lease liabilities, non-current</span></span> </div>
                  </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                    <div><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" id="Fact_0f97f9be31204d04969f94b35242bcac" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,253</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                    <div><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" id="Fact_f908948db6a6419e88e1b14fbbbce3ee" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,469</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                    <div style="color: rgb(0, 0, 0);">Finance</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_ef3fa3de80ef4a7198d64162b5f1a16d"><span style="-sec-ix-hidden:Fact_a6c6da4f95914e30a3b2331184d7a6ee">Finance lease liabilities, non-current</span></span> </div>
                  </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                    <div><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityNoncurrent" id="Fact_cf043b15ef1a46e798a4ee51caeec633" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                    <div><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityNoncurrent" id="Fact_06063d9c937749ad91adb8a72bd99399" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; padding-bottom: 4px;">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Total lease liabilities</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                    <div style="font-weight: normal;">$</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                    <div style="font-weight: bold;"><ix:nonFraction name="tlfa:LeaseLiabilities" id="Fact_f210643d7e7344b1bc2a3e371a1df8a2" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,426</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                    <div style="font-weight: normal;">$</div>
                  </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                    <div style="font-weight: bold;"><ix:nonFraction name="tlfa:LeaseLiabilities" id="Fact_aee14570b46d415b95b4e845c8ed5add" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,366</ix:nonFraction></div>
                  </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
          </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db39" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db310">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>
</ix:continuation>
          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db310" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db311">
<div><br/>
          </div>
</ix:continuation>

          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db311" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db312"><ix:nonNumeric name="us-gaap:LeaseCostTableTextBlock" id="Text_a2ccad62670b41ab9c13cc791b73886f" contextRef="c20230101to20231231" escape="true" continuedAt="Text_9bdf4e35c2054b20aaf358ebfe2d3b371">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%; margin-left: auto; margin-right: auto;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; border-bottom: 2px solid rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Lease Cost</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Income Statement Classification</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">Operating lease cost</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);"><ix:nonFraction name="us-gaap:OperatingLeaseCost" id="Fact_d73be27150d34587b72c1b3da25ea6d2" contextRef="c20230101to20231231_IncomeStatementLocationAxis_OperatingExpenseMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,908</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);"><ix:nonFraction name="us-gaap:OperatingLeaseCost" id="Fact_6b7f178be3ba4f71af26a63c1e45b79c" contextRef="c20220101to20221231_IncomeStatementLocationAxis_OperatingExpenseMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,737</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">Operating lease cost</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%;">
                  <div style="color: rgb(0, 0, 0);">Impairment expense</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;"><ix:nonFraction name="us-gaap:OperatingLeaseCost" id="Fact_de4ea42cccd24990b7eac01ae6e6d880" contextRef="c20230101to20231231_IncomeStatementLocationAxis_ImpairmentExpenseMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;"><ix:nonFraction name="us-gaap:OperatingLeaseCost" id="Fact_729e018334374b72aac10c9923068648" contextRef="c20220101to20221231_IncomeStatementLocationAxis_ImpairmentExpenseMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;">Short-term lease cost<br/>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);"><ix:nonFraction name="us-gaap:ShortTermLeaseCost" id="Fact_0bad3e1cc2f9469284e1de442eb22b80" contextRef="c20230101to20231231_IncomeStatementLocationAxis_OperatingExpenseMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);"><ix:nonFraction name="us-gaap:ShortTermLeaseCost" id="Fact_a3def9e969bd4ebf8fae7e6f6280c2ab" contextRef="c20220101to20221231_IncomeStatementLocationAxis_OperatingExpenseMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">38</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">Variable lease cost&#160;(1)</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%;">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;"><ix:nonFraction name="us-gaap:VariableLeaseCost" id="Fact_a3b952f0d5044b4cbbc5d97f6c36846c" contextRef="c20230101to20231231_IncomeStatementLocationAxis_OperatingExpenseMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">915</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;"><ix:nonFraction name="us-gaap:VariableLeaseCost" id="Fact_3876ad0c331343699155a9ee48dfd13f" contextRef="c20220101to20221231_IncomeStatementLocationAxis_OperatingExpenseMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">797</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">Amortization of finance lease assets<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);"><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" id="Fact_035f3e00786645e3b7154adcb3500892" contextRef="c20230101to20231231_IncomeStatementLocationAxis_OperatingExpenseMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);"><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" id="Fact_860155751a1443fb9529bd99c1077c7e" contextRef="c20220101to20221231_IncomeStatementLocationAxis_OperatingExpenseMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">Interest on lease liabilities<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0);">Interest expense</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseInterestExpense" id="Fact_16e09a26a4e348778759539f81b6af10" contextRef="c20230101to20231231_IncomeStatementLocationAxis_InterestExpenseMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseInterestExpense" id="Fact_8ddf7e6d48c04cf6bb084ea2097a9e91" contextRef="c20220101to20221231_IncomeStatementLocationAxis_InterestExpenseMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 38%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Total lease cost</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 37%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;"><ix:nonFraction name="us-gaap:LeaseCost" id="Fact_7950bdfedd5d4661ae8fde408bbc5790" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,830</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;"><ix:nonFraction name="us-gaap:LeaseCost" id="Fact_bfd482b472ba4b27b78a0d382c3f9d70" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,580</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:nonNumeric></ix:continuation>
          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db312" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db313"><ix:continuation id="Text_9bdf4e35c2054b20aaf358ebfe2d3b371" continuedAt="Text_9bdf4e35c2054b20aaf358ebfe2d3b372">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db313" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db314"><ix:continuation id="Text_9bdf4e35c2054b20aaf358ebfe2d3b372">
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">(1) <ix:footnote id="Foot_2c869902f56542bdb090045adf6c52f6" footnoteRole="http://www.xbrl.org/2003/role/footnote" xml:lang="en-US">Variable lease cost includes payment for certain real
            estate taxes, insurance, common area maintenance, and other charges related to lease agreements, which are not included in the measurement of the operating lease liabilities.</ix:footnote> </div>
</ix:continuation></ix:continuation>

          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db314" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db315">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>
</ix:continuation>
          <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="width: 100%;" class="BRPFPageFooter"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">44</span></div>

            <div class="BRPFPageBreak" style="page-break-after: always;">
              <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

            <div style="width: 100%;" class="BRPFPageHeader">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>
<ix:nonNumeric name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Text_ce6b0a28d7e044a7b18f03f63603a553" contextRef="c20230101to20231231" escape="true" continuedAt="Text_eb67df3b1318496b8b764186324c19e21"><ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db315" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db316">
<div>
           <span style="font-weight: bold;"> </span></div>
</ix:continuation></ix:nonNumeric>
          <ix:continuation id="Text_eb67df3b1318496b8b764186324c19e21"><ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db316" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db317">
<table cellspacing="0" cellpadding="0" border="0" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="6">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Maturity of Lease Liabilities</div>
                </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Operating Leases</div>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Finance Leases</div>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                </td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">2024</div>
                </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" id="Fact_e4d8ee0b4c2341258429253da87e2096" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,687</ix:nonFraction></div>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">$</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" id="Fact_87c216b121b34975a2b2e2a5f2652653" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">2025</div>
                </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" id="Fact_ee45914d64f34dc2b9d8b76ee49299f0" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,755</ix:nonFraction></div>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" id="Fact_f419e4d04f7a47bcbffef1ee43c2bbae" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction><br/>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">2026</div>
                </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" id="Fact_937afe37c5664b4b96974afe87fdbd6e" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,103</ix:nonFraction></div>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree" id="Fact_719e5bdc93db4553b2240f4580c6dec2" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction> </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0);">2027</div>
                </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" id="Fact_113e693324774024b8f1b427fadfd680" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,577</ix:nonFraction></div>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour" id="Fact_945b695e39e245f19f539df0e6cf6881" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction> </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">2028</div>
                </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" id="Fact_ef48f9176cdf46f5840a1da386e790e9" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">731</ix:nonFraction></div>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive" id="Fact_54c9c89090ff4785a240cfe09f22c00c" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction> </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0);">Thereafter</div>
                </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" id="Fact_975a447b4bce4429ba69e56b3b9d9e39" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">275</ix:nonFraction></div>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive" id="Fact_7932966222cf4d2e914e31a5952bcf43" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">Total lease payments</div>
                </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" id="Fact_53b890bb5143465aa06e45d7691ffcc7" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">11,128</ix:nonFraction></div>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">$</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityPaymentsDue" id="Fact_14d9b6ae452642ab8ad1c337df32fc30" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                  <div style="color: rgb(0, 0, 0);">Less:&#160; Interest</div>
                </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                  <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" id="Fact_69d8b7cca5a04b04b104e9cabc013202" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,702</ix:nonFraction></div>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" id="Fact_afce5d48f8f745ec9559fe939e575eeb" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Present value of lease liabilities</div>
                </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" id="Fact_de12a24fcafd49f2a3edea28b0308c94" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,426</ix:nonFraction></div>
                </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" colspan="1">$</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" colspan="1"><ix:nonFraction name="us-gaap:FinanceLeaseLiability" id="Fact_73c5b1cf7915441aa055619095a5b7f7" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
          <div style="font-family: 'Times New Roman'; font-size: 10pt;">
            <ix:nonNumeric name="tlfa:LesseeOperatingLeasesOtherInformationTableTextBlock" id="Text_36339c7792cc479295366d870b4cbbc5" contextRef="c20230101to20231231" escape="true"><ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db317" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db318">
<div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </div>

              <!--PROfilePageNumberReset%Num%50%%%-->
              <table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">Other Information</div>
                    </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                      <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                      <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                    </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0);">Cash paid for amounts included in the measurement of lease liabilities:</div>
                    </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 75.49%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Operating cash flows used in operating leases</div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);">
                      <div style="color: rgb(0, 0, 0);">$</div>
                    </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);">
                      <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeasePayments" id="Fact_3bec94bea07b45d2a9a92f3a12e171c3" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,955</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);">
                      <div style="color: rgb(0, 0, 0);">$</div>
                    </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);">
                      <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeasePayments" id="Fact_48740477283246718db299d09e50ffcd" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,871</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 75.49%; white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Operating cash flows used in finance leases</div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%;">
                      <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseInterestPaymentOnLiability" id="Fact_d67c14e8ee1e4515ad9e7664b17d0851" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%;">
                      <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseInterestPaymentOnLiability" id="Fact_39869ac8e6b2486395ed319fadc7f087" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 75.49%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                      <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Financing cash flows used in finance leases</div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);">
                      <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeasePrincipalPayments" id="Fact_27de243f93b548fabd8396d3a494085f" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);">
                      <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeasePrincipalPayments" id="Fact_acc128c1a2d547c3ac2538bc97c6780e" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">14</ix:nonFraction></div>
                    </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>


</table>
               </div>
</ix:continuation></ix:nonNumeric>
            <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db318" continuedAt="Text_621968e9a4844eb0aa1ebe42dbc83db319">
<div><br/></div>
</ix:continuation>
          </div>


          <ix:continuation id="Text_621968e9a4844eb0aa1ebe42dbc83db319"><ix:nonNumeric name="tlfa:LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" id="Text_f7684cc422684e68a551faf3d35d4a3f" contextRef="c20230101to20231231" escape="true">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><span style="font-weight: bold;">Lease Term and Discount Rate</span></div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">Weighted-average remaining lease term (years):</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Operating leases</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);"><ix:nonNumeric name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Fact_abdd3eade3b248d9a357f08c33cda66e" contextRef="c20231231" format="ixt-sec:duryear">3.6</ix:nonNumeric><br/>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);"><ix:nonNumeric name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Fact_9f7b878fe2e642f3b24f08ad36bf9ffd" contextRef="c20221231" format="ixt-sec:duryear">4.8</ix:nonNumeric><br/>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Finance leases</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;"><ix:nonNumeric name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="Fact_e37d6925a17647b0b4cb72b3a7d76b07" contextRef="c20231231" format="ixt-sec:duryear">0.0</ix:nonNumeric><br/>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;"><ix:nonNumeric name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="Fact_4468ded36ff44078aec67fa3dbc25262" contextRef="c20221231" format="ixt-sec:duryear">0.9</ix:nonNumeric><br/>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">Weighted-average discount rate:</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                  <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Operating leases</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" id="Fact_dd32c539ce0a454ba917376d93c0a901" contextRef="c20231231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">4.8</ix:nonFraction><br/>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">%<br/>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" id="Fact_bcbc18f77c034ed5b69755f3ee5a19e6" contextRef="c20221231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">5.0</ix:nonFraction><br/>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">%<br/>
                </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Finance leases</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);"><ix:nonFraction name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" id="Fact_af9d67fcea17401bbeb6f44639802b99" contextRef="c20231231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">6.0</ix:nonFraction><br/>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">%<br/>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);"><ix:nonFraction name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" id="Fact_bcf4964543e44bdab6aad76cc28c7ca6" contextRef="c20221231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">6.0</ix:nonFraction><br/>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">%<br/>
                </td>

  </tr>


</table>
</ix:nonNumeric></ix:continuation>

          <div style="font-family: 'Times New Roman'; font-size: 10pt;"> </div>

          <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>

          <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="width: 100%;" class="BRPFPageFooter"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">45</span></div>

            <div class="BRPFPageBreak" style="page-break-after: always;">
              <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

            <div style="width: 100%;" class="BRPFPageHeader">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>

        </div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <ix:nonNumeric name="us-gaap:DebtDisclosureTextBlock" id="Text_16ef33a7613345e3a03ce713a05ddedd" contextRef="c20230101to20231231" escape="true" continuedAt="Text_74a5e11d23484596b390fe72b8bcf1ca1">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">5.&#160; NOTES PAYABLE AND LONG-TERM DEBT</div>
</ix:nonNumeric>
        <ix:continuation id="Text_74a5e11d23484596b390fe72b8bcf1ca1" continuedAt="Text_74a5e11d23484596b390fe72b8bcf1ca2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_74a5e11d23484596b390fe72b8bcf1ca2" continuedAt="Text_74a5e11d23484596b390fe72b8bcf1ca3">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> During the second quarter of 2020, the Company borrowed $<ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" id="Fact_231eeba772b844488834a07c5cf76276" contextRef="c20200401to20200630_DebtInstrumentAxis_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.4</ix:nonFraction>
          million from Banco Santander S.A. under the Institute of Official Credit Guarantee for Small and Medium-sized Enterprises in order to facilitate the continuation of employment and to attenuate the economic effects of the coronavirus (&#8220;COVID-19&#8221;)
          virus.&#160; This loan was provided for by the Spanish government as part of a COVID-19 relief program, and on June 6, 2022, the Company repaid this loan in full.<br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_74a5e11d23484596b390fe72b8bcf1ca3" continuedAt="Text_74a5e11d23484596b390fe72b8bcf1ca4">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span></div>
</ix:continuation>
        <div style="text-align: justify;"><ix:continuation id="Text_74a5e11d23484596b390fe72b8bcf1ca4">
<div><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> On
            January 3, 2023, the Company entered into a credit agreement (the &#8220;Credit Agreement&#8221;) with JPMorgan Chase Bank, N.A.&#160; Under the Credit Agreement, the bank will provide the Company a credit facility of up to $<ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" id="Fact_bd122827f21546c7955f814f12353d8d" contextRef="c20230103_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">5,000,000</ix:nonFraction> on standard terms and conditions, including affirmative and negative covenants set forth in the Credit Agreement.&#160; As security for the
            credit facility, the Company has pledged as collateral certain of its assets, including the Company&#8217;s cash in deposit accounts, inventory and equipment.&#160; As of the date of this filing, <ix:nonFraction name="us-gaap:ProceedsFromLinesOfCredit" id="Fact_aba54df578694ce79b8f44d5b80bba87" contextRef="c20230101to20231231_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember" unitRef="U001" decimals="0" scale="0" format="ixt-sec:numwordsen">no</ix:nonFraction> funds had been borrowed under this facility.</span> <br/>
          </div>
</ix:continuation>
          <div><br/>
          </div>

        </div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <ix:nonNumeric name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="Text_2f4aaa71a33545b28fc874558a09b590" contextRef="c20230101to20231231" escape="true" continuedAt="Text_8ca0cb016bae433192b2ddeaefb7fe821">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">6.&#160; EMPLOYEE BENEFIT AND SAVINGS PLANS</div>
</ix:nonNumeric>
        <ix:continuation id="Text_8ca0cb016bae433192b2ddeaefb7fe821" continuedAt="Text_8ca0cb016bae433192b2ddeaefb7fe822">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_8ca0cb016bae433192b2ddeaefb7fe822" continuedAt="Text_8ca0cb016bae433192b2ddeaefb7fe823">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We have a 401(k) plan to provide retirement benefits for our employees.&#160; As allowed under Section 401(k) of the Internal Revenue Code, the plan provides tax-deferred
          salary contributions for eligible employees and allows employees to contribute a percentage of their annual compensation to the plan on a pretax basis.&#160; Employee contributions are limited to a maximum annual amount as set periodically by the
          Internal Revenue Code.&#160; In 2023 and 2022, we matched <ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" id="Fact_cec7f1d5d58c4e3d9f1297d0b492acab" contextRef="c20220101to20221231_RetirementPlanTypeAxis_OneHundredPercentContributionMember" unitRef="U007" decimals="2" scale="-2" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" id="Fact_aae267ee23594035a3c92dab299b7538" contextRef="c20230101to20231231_RetirementPlanTypeAxis_OneHundredPercentContributionMember" unitRef="U007" decimals="2" scale="-2" format="ixt:num-dot-decimal">100</ix:nonFraction></ix:nonFraction>% of the pretax employee contributions on the first <ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" id="Fact_fe16fe3a746343829055f75becb89a2c" contextRef="c20230101to20231231_RetirementPlanTypeAxis_OneHundredPercentContributionMember" unitRef="U007" decimals="2" scale="-2" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" id="Fact_54dc4211d84142d8b57c4016f43f4b44" contextRef="c20220101to20221231_RetirementPlanTypeAxis_OneHundredPercentContributionMember" unitRef="U007" decimals="2" scale="-2" format="ixt:num-dot-decimal">3</ix:nonFraction></ix:nonFraction>% of eligible earnings and <ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" id="Fact_ed81ee3635d44866aac4c671f249a290" contextRef="c20230101to20231231_RetirementPlanTypeAxis_FiftyPercentContributionMember" unitRef="U007" decimals="2" scale="-2" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" id="Fact_b3660586b9f0423282d19e97d971a325" contextRef="c20220101to20221231_RetirementPlanTypeAxis_FiftyPercentContributionMember" unitRef="U007" decimals="2" scale="-2" format="ixt:num-dot-decimal">50</ix:nonFraction></ix:nonFraction>%
          of the pretax employee contributions on the next <ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" id="Fact_e2747d3d599a4fc89f49552850ff50f6" contextRef="c20220101to20221231_RetirementPlanTypeAxis_FiftyPercentContributionMember" unitRef="U007" decimals="2" scale="-2" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" id="Fact_8253cd34aaeb4cf2849f67e28a7799c9" contextRef="c20230101to20231231_RetirementPlanTypeAxis_FiftyPercentContributionMember" unitRef="U007" decimals="2" scale="-2" format="ixt:num-dot-decimal">2</ix:nonFraction></ix:nonFraction>% of eligible earnings that are contributed by employees.&#160; For the years ended
          December 31, 2023, and 2022, we recorded employer match expense of $<ix:nonFraction name="us-gaap:DefinedContributionPlanCostRecognized" id="Fact_50feb3fb45fc45029221516d7ec24a93" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.3</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:DefinedContributionPlanCostRecognized" id="Fact_db29b3b8dd7d4cf090a93cbc1593b824" contextRef="c20220101to20221231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.3</ix:nonFraction> million, respectively.</div>
</ix:continuation>
        <ix:continuation id="Text_8ca0cb016bae433192b2ddeaefb7fe823" continuedAt="Text_8ca0cb016bae433192b2ddeaefb7fe824">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span> </div>
</ix:continuation>
        <ix:continuation id="Text_8ca0cb016bae433192b2ddeaefb7fe824" continuedAt="Text_8ca0cb016bae433192b2ddeaefb7fe825">
<div style="text-align: justify;"> <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> The
            plan allows employees who meet the age requirements and reach the plan contribution limits to make a catch-up contribution. The catch-up contributions are not eligible for matching contributions.&#160; In addition, the plan provides for
            discretionary matching contributions as determined by the Board of Directors.&#160; There were <ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" id="Fact_fdc66521cd854df7815ee8b9bc72c9ca" contextRef="c20220101to20221231" unitRef="U001" decimals="0" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" id="Fact_5efdf6ea17cc42d291eeaeecbff90ce8" contextRef="c20230101to20231231" unitRef="U001" decimals="0" scale="0" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction> discretionary matching
            contributions made in 2023 or 2022. </span> </div>
</ix:continuation>
        <ix:continuation id="Text_8ca0cb016bae433192b2ddeaefb7fe825" continuedAt="Text_8ca0cb016bae433192b2ddeaefb7fe826">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_8ca0cb016bae433192b2ddeaefb7fe826">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We offer no postretirement or postemployment benefits to our employees.</div>
</ix:continuation>

        <!--PROfilePageNumberReset%Num%52%%%--> </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);"> <div><br/></div>

    <div>
      <div>
        <ix:nonNumeric name="us-gaap:IncomeTaxDisclosureTextBlock" id="Text_a9fae5b042fc4741829caf7fcd4051c1" contextRef="c20230101to20231231" escape="true" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b1">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">7.&#160; INCOME TAXES</div>
</ix:nonNumeric>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b1" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>

        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b2" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b3"><ix:nonNumeric name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="Text_d107c00ece164281abb9eef79b51945e" contextRef="c20230101to20231231" escape="true" continuedAt="Text_bd43cd37c47d4a49ad5f4cc951b1625e1">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The provision for income taxes consists of the following:</div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b3" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b4"><ix:continuation id="Text_bd43cd37c47d4a49ad5f4cc951b1625e1" continuedAt="Text_bd43cd37c47d4a49ad5f4cc951b1625e2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b4" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b5"><ix:continuation id="Text_bd43cd37c47d4a49ad5f4cc951b1625e2">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Year Ended December 31,</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Income Tax Benefit<br/>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022<br/>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Current provision (benefit):</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Federal</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" id="Fact_eb039600d7bb4ed59888f48f99d8e66a" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">892</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" id="Fact_8c518bba84fc4078bdf47da63db160c9" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">16</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                <div style="color: rgb(0, 0, 0);">State</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" id="Fact_8c4998fd70b449d887a91cf059be5377" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">181</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" id="Fact_20d46146849644698d6f6d285315c88a" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">41</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Foreign</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CurrentForeignTaxExpenseBenefit" id="Fact_00436bc147314e8e9470bad748ee91e3" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">102</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CurrentForeignTaxExpenseBenefit" id="Fact_9727ebbc3234444cb7ee05366307953a" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">96</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0);">Related to UTP</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" id="Fact_c0aecaefce97459e948b7816e412401e" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">34</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" id="Fact_aabe596998b94d509fcfd1272b99bf94" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">28</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" id="Fact_db1ae73f7bc74fd1a50b839a25dcb333" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,141</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" id="Fact_9eefdb08b4194a28853ff88c72109334" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">181</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; background-color: rgb(204, 238, 255);">Deferred provision (benefit):</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">Federal</div>
              </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">(<ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" id="Fact_50f6698eb88342c882c55fd59a3d1e00" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">266</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">)</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" id="Fact_a57e23cd391b4a78ba20cea71a388eb3" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; font-weight: normal; width: 76%; background-color: rgb(204, 238, 255);">State</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">(<ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" id="Fact_52086c15442e41cd95d2aa9daacb289d" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">103</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">)</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;"><ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" id="Fact_1b517fefc589493e9ead0a55df47fedc" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; font-weight: normal; width: 76%; padding-bottom: 2px;">Foreign</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;"><ix:nonFraction name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" id="Fact_b5a2f01ae6544437a23dbe4bf7073ddf" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">5</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;"><ix:nonFraction name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" id="Fact_786c3f4f73f14fe49ab787d34118e8a9" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" id="Fact_283ac9389ae54827bc55a99d6cb2367b" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">364</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;">)</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" id="Fact_06caaf51ae024a8d891ded5457385da8" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Total tax provision (benefit)<br/>
                </div>
              </td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_2e25435d8bbf4b438eb939270cb24d69" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">777</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_281f0410e8e143e7a95d3e68edc5e6c9" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">181</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b5" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b6">
<div><br/></div>
</ix:continuation>
          <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="width: 100%;" class="BRPFPageFooter"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">46</span></div>

            <div class="BRPFPageBreak" style="page-break-after: always;">
              <hr style="border-width: 0px; clear: both; margin-top: 4px; margin-bottom: 4px; width: 100%; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/></div>

            <div style="width: 100%;" class="BRPFPageHeader">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>

        </div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;">
          <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b6" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b7">
<div style="margin-top: 0px; margin-bottom: 0px; font-family: 'Times New Roman'; font-size: 10pt; text-align: justify; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">Earnings occurring outside the U.S. are deemed to be indefinitely reinvested outside of the U.S. to support the Company&#8217;s foreign operations.&#160; As a result, if the Company accumulates earnings overseas, they will be used
            for investment in the Company&#8217;s businesses outside the U.S.&#160; The Company will use cash generated from U.S. operations and short- and long-term borrowings to meet the Company&#8217;s U.S. cash needs.&#160; The determination of unrecognized deferred tax
            liabilities for temporary differences in investments in foreign subsidiaries is not practicable.</div>
</ix:continuation>
          <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b7" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b8">
<div style="margin-top: 0px; margin-bottom: 0px; font-family: 'Times New Roman'; font-size: 10pt; text-align: justify; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"> <br/>
          </div>
</ix:continuation>
          <div style="margin-top: 0px; margin-bottom: 0px; font-family: 'Times New Roman',Times,serif; font-size: 10pt; text-align: justify;">
            <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b8" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b9">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">The Company has $<ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" id="Fact_c647badb70b94c4c965f5c1872b827ab" contextRef="c20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.7</ix:nonFraction> million of state tax net operating loss (&#8220;NOL&#8221;) carryovers which will begin to expire in 2025.&#160; We also have a full valuation allowance on $<ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign" id="Fact_be4a7a10d65248a2bf489d3d742f388f" contextRef="c20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.6</ix:nonFraction> million of foreign tax NOL carryovers that do not expire.<br/>
            </div>
</ix:continuation>
          </div>

        </div>

        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b9" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b10">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>

        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b10" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b11"><ix:nonNumeric name="us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" id="Text_fa357b12db0146b5b2e554b4999d7db3" contextRef="c20230101to20231231" escape="true" continuedAt="Text_a83a04fcf41a4d34b08608e2481aebef1">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Income before income taxes was earned in the following tax jurisdictions:</div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b11" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b12"><ix:continuation id="Text_a83a04fcf41a4d34b08608e2481aebef1" continuedAt="Text_a83a04fcf41a4d34b08608e2481aebef2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b12" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b13"><ix:continuation id="Text_a83a04fcf41a4d34b08608e2481aebef2">
<table cellspacing="0" cellpadding="0" border="0" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Year Ended December 31,</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Income (Loss) Before Income Taxes</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
                </div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022<br/>
                </div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">United States</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" id="Fact_a966f0864167459eb82fd16115503715" contextRef="c20230101to20231231_IncomeTaxAuthorityNameAxis_InternalRevenueServiceIRSMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,765</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" id="Fact_e8e0aa4d34184c0cbb50cab0a8774b1d" contextRef="c20220101to20221231_IncomeTaxAuthorityNameAxis_InternalRevenueServiceIRSMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">733</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Spain</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" id="Fact_cb6c38f86ed144a6a6a380979b9803ba" contextRef="c20230101to20231231_IncomeTaxAuthorityNameAxis_TaxAuthoritySpainMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">25</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"></div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" id="Fact_56bc6fffc5a14a408d446417ac0a9a8b" contextRef="c20220101to20221231_IncomeTaxAuthorityNameAxis_TaxAuthoritySpainMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">83</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0);">Canada</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" id="Fact_01be4ce18b05447c9ca9a46bcff01503" contextRef="c20230101to20231231_IncomeTaxAuthorityNameAxis_CanadaRevenueAgencyMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">755</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" id="Fact_99c8c25f21344eec968f82e92d8ebd53" contextRef="c20220101to20221231_IncomeTaxAuthorityNameAxis_CanadaRevenueAgencyMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">758</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"></div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_a1b3819af42a45218850fa5c076b1082" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,545</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_1dad655b98ff45c09b6fc5555eaca25f" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,408</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b13" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b14">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>

        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b14" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b15"><ix:nonNumeric name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="Text_01d0f3767d8a4445a7fc04062458aa3b" contextRef="c20230101to20231231" escape="true" continuedAt="Text_adc6c46d16fd453393c4d090974c295b1">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The income tax effects of temporary differences that give rise to significant portions of deferred income tax assets and liabilities are as follows:</div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b15" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b16"><ix:continuation id="Text_adc6c46d16fd453393c4d090974c295b1" continuedAt="Text_adc6c46d16fd453393c4d090974c295b2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b16" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b17"><ix:continuation id="Text_adc6c46d16fd453393c4d090974c295b2">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Deferred income tax assets:</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022<br/>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Inventory</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" id="Fact_38c2ef35d48d47b6a53a39686a63853f" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">412</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" id="Fact_3c0337125a744bd5898138d3cbb8a720" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">471</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Stock-based compensation</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" id="Fact_ede219f7b92b4e4ba95fe6e05d11c34c" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">55</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" id="Fact_7950790966374324bbeddc7e64d41e43" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">93</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Accounts receivable</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:DeferredTaxAssetsAccountsReceivable" id="Fact_63dde9469e3e44fd924b822485f80891" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:DeferredTaxAssetsAccountsReceivable" id="Fact_d69a4fc46983497da79e3d05e723f6f4" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">14</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Sales returns</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" id="Fact_9d44c06048104e7bbdc576cf8ddcb636" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">49</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" id="Fact_45c653b933374e369d6f58f9f001dfc8" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">47</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Foreign currency translation gain/loss in OCI</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses" id="Fact_f3ac7d695a884fee93b57270487dbfaf" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">512</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses" id="Fact_c4d7d481277f4f899a53d72175d0bdd8" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">689</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Net operating losses</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" id="Fact_a8779f63c70e4fbeb7f40b1b682f40ef" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">182</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" id="Fact_8098f8250c434fd0ab48dce050bd1e1a" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">261</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Accrued expenses</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" id="Fact_42af7e817e7c4b66aa7ecc01a8a31f28" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">170</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" id="Fact_08caeb533ba948a1a2e0a6167243eb0a" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">63</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0);">Leases</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" id="Fact_28076b8b66b545a6b80a9067f27282ce" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">108</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" id="Fact_6da97bc2c338413a8a159090ce2d42ff" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">152</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Total deferred income tax assets</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" id="Fact_2ef8748ebcd8431f841bb0fa70cdfb49" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,496</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" id="Fact_839c7b9aa80743b1902c53aa963a97c6" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,790</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0);">Less:&#160; valuation allowance</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" id="Fact_62a14d03e4a34faca0d5319b03ee1faa" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">154</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">)</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" id="Fact_fbce0cab48f8435ba6577e2453b686c6" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,151</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">)</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Total deferred income tax assets, net of valuation allowance</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" id="Fact_047afd51de66436caa6e60e785696083" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,342</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" id="Fact_e62b88b63ee74a2c82d891a3acd6b840" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">639</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Property and equipment depreciation</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" id="Fact_abec6f8b8bfe4d018553819b3f04ad24" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">471</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" id="Fact_4f12ccebde5a48f89e7d2242880619a5" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">639</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Total deferred income tax liabilities</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilities" id="Fact_ff80089cc361495897039d484acb701f" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">471</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilities" id="Fact_ba6799367f544d23a78217173fed8233" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">639</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Net deferred tax asset (liability)</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsLiabilitiesNet" id="Fact_1e99687a442e41d1981e1cd6458bc40c" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">871</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsLiabilitiesNet" id="Fact_2285970c47e74420b0e44de062f8e409" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b17" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b18">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">47</span></div>

          <div style="page-break-after: always;" class="BRPFPageBreak">
            <hr style="border-width: 0px; clear: both; margin-top: 4px; margin-bottom: 4px; width: 100%; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b18" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b19">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We are required to reduce deferred tax assets by a valuation allowance if, based on the weight of the available evidence, it is more likely than not that all or a
          portion of a deferred tax asset will not be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences are deductible.<br/>
          <br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b19" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b20">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">As of each reporting date, the Company considers new evidence, both positive and negative, that could affect its view of the future realization of deferred tax assets.&#160;&#160; As of December 31, 2023,
            management determined that there is sufficient positive evidence to conclude that it is more likely than not that additional deferred taxes of $<ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" id="Fact_ebdb61cb800a40fa80b4a7f8c9049b49" contextRef="c20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.3</ix:nonFraction>
            million are realizable.&#160; We reduced the valuation allowance accordingly.</span></div>
</ix:continuation>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b20" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b21">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b21" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b22">
<div style="text-align: justify;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Our
            effective tax rate differs from the federal statutory rate primarily due to U.S. state income tax expense, the difference in tax rates for loss carryback periods, foreign income/loss positions, expenses that are nondeductible for tax purposes,
            the change in our valuation allowance associated with our deferred tax assets, and differences in tax rates.&#160; </span><ix:nonNumeric name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Text_8253ddea6e7741eeb73d5ba90ed3d59f" contextRef="c20230101to20231231" escape="true" continuedAt="Text_fcf4a9a69d084f7e9786def07b4ea7cd1"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Below is a reconciliation of our effective tax rate from the statutory rate: </span> </span></ix:nonNumeric></div>
</ix:continuation>
        <ix:continuation id="Text_fcf4a9a69d084f7e9786def07b4ea7cd1" continuedAt="Text_fcf4a9a69d084f7e9786def07b4ea7cd2"><ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b22" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b23">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_fcf4a9a69d084f7e9786def07b4ea7cd2"><ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b23" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b24">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Year Ended December 31,</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-weight: bold; text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center; border-bottom: 2px solid rgb(0, 0, 0);">2023</td>

    <td valign="bottom" colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: middle; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Statutory rate &#8211; Federal U.S. income tax</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" id="Fact_07251efa3d7a45ecb249ce1f1d3768a6" contextRef="c20230101to20231231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">21.0</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" id="Fact_d465a83492594bf293b8e441df40f263" contextRef="c20220101to20221231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">21.0</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: middle; width: 76%;">
                <div style="color: rgb(0, 0, 0);">State and local taxes</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" id="Fact_98837cf3379545f2bfe1416e969dd332" contextRef="c20230101to20231231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">5.3</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" id="Fact_dbfe23c240174b2088a553f842171f2a" contextRef="c20220101to20221231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:num-dot-decimal">0.6</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: middle; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Permanent book/tax differences</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" id="Fact_7530f870bdd1401bb2d01119d3ab1971" contextRef="c20230101to20231231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">2.4</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" id="Fact_f20ae19deff848ab99fefb9841b8be9a" contextRef="c20220101to20221231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">11.3</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: middle; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Change in valuation allowance</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" id="Fact_4e0844910e8c49348b722f0468e2c068" contextRef="c20230101to20231231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:num-dot-decimal">6.8</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" id="Fact_fb0b2abb6e4f496a91f6d319da1e801e" contextRef="c20220101to20221231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:num-dot-decimal">20.3</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div>Interest on Uncertain Tax Position<br/>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="tlfa:EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" id="Fact_002d81a3011b42d9998a4355525e3409" contextRef="c20230101to20231231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:num-dot-decimal">0.8</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" id="Fact_de3b426d2d3340cd80bae5d51d439558" contextRef="c20220101to20221231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">2.0</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 76%; white-space: nowrap;">Income tax credits<br/>
              </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" id="Fact_686a977905a94df0ba2a4b46500c9e7a" contextRef="c20230101to20231231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">2.3</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">)%</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" id="Fact_63aa04084e5a46a8a57a34962b74c489" contextRef="c20220101to20221231" unitRef="U007" decimals="INF" scale="-2" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: middle; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Other, net</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" id="Fact_770fb0cce9a949af931324e20fb362bf" contextRef="c20230101to20231231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:num-dot-decimal">1.7</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" id="Fact_ffc76ace9a8c43c8a1b5367fdd2a6178" contextRef="c20220101to20221231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:num-dot-decimal">0.5</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: middle; width: 76%; padding-bottom: 4px;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Effective rate</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_065dc00923c944ec98334e82b2ecb4a7" contextRef="c20230101to20231231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">17.1</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">%</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_3d57167ceba94f81aa3c89d366f284fc" contextRef="c20220101to20221231" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">12.9</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">%</div>
              </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;">
          <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b24" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b25">
<div><br/>
          </div>
</ix:continuation>
          <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="width: 100%;" class="BRPFPageFooter"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">48</span></div>

            <div class="BRPFPageBreak" style="page-break-after: always;">
              <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

            <div style="width: 100%;" class="BRPFPageHeader">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>

        </div>

      </div>

    </div>

    <div>
      <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b25" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b26">
<div style="text-align: justify;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">We file a
          consolidated U.S. income tax return as well as state tax returns on a consolidated, combined, or stand-alone basis, depending on the jurisdiction.&#160; We are no longer subject to U.S. federal income tax examinations by tax authorities for years
          prior to the tax year ended December 2021.&#160; Depending on the jurisdiction, we are no longer subject to state examinations by tax authorities for years prior to the December 2020 and December 2021 tax years.</span> We file tax returns in a limited
        number of foreign jurisdictions. </div>
</ix:continuation>
      <div>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b26" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b27">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>

        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b27" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b28"><ix:nonNumeric name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="Text_5ba6f09e20494e09b99e935af73454a2" contextRef="c20230101to20231231" escape="true" continuedAt="Text_8f2c17111cd84d99af11021a9432bc991">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">A reconciliation of the beginning and ending amount of uncertain tax positions (&#8220;UTP&#8221;) is as follows:</div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b28" continuedAt="Text_916ca07fc2fb4d99a8282e956d671e9b29"><ix:continuation id="Text_8f2c17111cd84d99af11021a9432bc991" continuedAt="Text_8f2c17111cd84d99af11021a9432bc992">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_916ca07fc2fb4d99a8282e956d671e9b29"><ix:continuation id="Text_8f2c17111cd84d99af11021a9432bc992">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022</div>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">UTP at beginning of the year</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_523a49472c454cdf8d011510035decaf" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">450</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_65c9f096cd984507bf660904a581aa62" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">415</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
                <div style="color: rgb(0, 0, 0);">Gross (decrease) increase to tax positions in current period</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" id="Fact_0d1e0f79b718499683d2ca2c3ae71ada" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">27</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" id="Fact_154b91f73e644dca91e0551f05ffb5af" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
                <div style="color: rgb(0, 0, 0);">Interest expense</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="tlfa:UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" id="Fact_f39ee2f2efd44c87835273fd6af246cb" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">35</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;"><ix:nonFraction name="tlfa:UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" id="Fact_2f01eb4fbd444ae1be6847729def8126" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">28</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
                <div style="color: rgb(0, 0, 0);">UTP at end of year</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_db93aff49d894c4eb28d15224e21106b" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">388</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_78f6ea18236d4d4fbc824424b6718564" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">450</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> </div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <ix:nonNumeric name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Text_f216cd5e01c64a059e11509c1a3b1556" contextRef="c20230101to20231231" escape="true" continuedAt="Text_c9fe70900c10491b9eff95a39be28c0f1">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">8.&#160; COMMITMENTS AND CONTINGENCIES</div>
</ix:nonNumeric>
        <ix:continuation id="Text_c9fe70900c10491b9eff95a39be28c0f1" continuedAt="Text_c9fe70900c10491b9eff95a39be28c0f2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_c9fe70900c10491b9eff95a39be28c0f2" continuedAt="Text_c9fe70900c10491b9eff95a39be28c0f3">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Legal Proceedings</div>
</ix:continuation>
        <ix:continuation id="Text_c9fe70900c10491b9eff95a39be28c0f3" continuedAt="Text_c9fe70900c10491b9eff95a39be28c0f4">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_c9fe70900c10491b9eff95a39be28c0f4" continuedAt="Text_c9fe70900c10491b9eff95a39be28c0f5">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We are periodically involved in various litigation that arises in the ordinary course of business and operations.&#160; There are no such matters pending that we expect
          to have a material impact on our financial position or operating results.&#160; Legal costs associated with the resolution of claims, lawsuits, and other contingencies are expensed as incurred.</div>
</ix:continuation>
        <ix:continuation id="Text_c9fe70900c10491b9eff95a39be28c0f5" continuedAt="Text_c9fe70900c10491b9eff95a39be28c0f6">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
          <ix:continuation id="Text_c9fe70900c10491b9eff95a39be28c0f6" continuedAt="Text_c9fe70900c10491b9eff95a39be28c0f7">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">Delisting of the
            Company&#8217;s Common Stock</div>
</ix:continuation>
          <ix:continuation id="Text_c9fe70900c10491b9eff95a39be28c0f7" continuedAt="Text_c9fe70900c10491b9eff95a39be28c0f8">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"> <br/>
          </div>
</ix:continuation>
          <ix:continuation id="Text_c9fe70900c10491b9eff95a39be28c0f8" continuedAt="Text_c9fe70900c10491b9eff95a39be28c0f9">
<div><span style="color: rgb(38, 38, 38);"> </span></div>
</ix:continuation></div>

        <div style="text-align: justify;">
          <ix:continuation id="Text_c9fe70900c10491b9eff95a39be28c0f9">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;">After discovery of
            the accounting matters described in previous Security and Exchange Commission filings and during our resulting financial restatement, the Company did not file its periodic financial reports with the SEC.&#160; As a result, Nasdaq suspended trading
            of the Company&#8217;s stock in August 2020 and formally de-listed the stock from the Nasdaq markets in February 2021.&#160; After being de-listed from Nasdaq, the Company&#8217;s stock traded in the Over The Counter Markets until September l, 2022, when Nasdaq
            again approved it for listing.&#160; The Company&#8217;s stock currently trades on the Nasdaq Capital Market under the symbol TLF.</div>
</ix:continuation>
        </div>

        <div style="text-align: justify;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span> </div>

        <div><br/></div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <ix:nonNumeric name="us-gaap:ConcentrationRiskDisclosureTextBlock" id="Text_6f20360357484c7486886e58de45c779" contextRef="c20230101to20231231" escape="true" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee1">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">9.&#160; SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK</div>
</ix:nonNumeric>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee1" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee2" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee3">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Major Customers</div>
</ix:continuation>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee3" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee4">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee4" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee5">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Our revenues are derived from a diverse group of customers, from hobbyist crafters to small and large businesses across a wide variety of industries.&#160; <ix:nonFraction name="tlfa:NumberOfMajorCustomers" id="Fact_65d8439c67c44ff3b75b27c2b72385fd" contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember" unitRef="U008" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="tlfa:NumberOfMajorCustomers" id="Fact_5ed34725493b4c4eb3f03030070cef6b" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember" unitRef="U008" decimals="INF" scale="0" format="ixt-sec:numwordsen">No</ix:nonFraction></ix:nonFraction> single customer accounted for more than 0.5% of our consolidated revenues in 2023 or 2022, and sales to our <ix:nonFraction name="tlfa:NumberOfMajorCustomers" id="Fact_3fb0dc5c2eb74545a686023b5b446c32" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_FiveMajorCustomersMember" unitRef="U008" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="tlfa:NumberOfMajorCustomers" id="Fact_230f0a89b4974146b0734793677899e5" contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_FiveMajorCustomersMember" unitRef="U008" decimals="INF" scale="0" format="ixt-sec:numwordsen">five</ix:nonFraction></ix:nonFraction> largest customers represented less than <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_86d1541fa6b24a6a9a9e068a7358892e" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_FiveMajorCustomersMember_RangeAxis_MaximumMember" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">2.0</ix:nonFraction>%
          of consolidated revenues in each of those years.&#160; While we do not believe the loss of one of these customers would have a significant negative impact on our operations, we do believe the loss of several of these customers simultaneously or a
          substantial reduction in sales generated by them could temporarily affect our operating results.</div>
</ix:continuation>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee5" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee6">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>
</ix:continuation>
        <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">49</span></div>

          <div class="BRPFPageBreak" style="page-break-after: always;">
            <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee6" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee7">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;">Major Suppliers</span></div>
</ix:continuation>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee7" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee8">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal;"> <br/>
          </span></div>
</ix:continuation>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee8" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee9">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal;">We purchase merchandise and raw materials from nearly <ix:nonFraction name="tlfa:NumberOfSuppliers" id="Fact_749371b243a54694a4a6729e62c2ae2e" contextRef="c20230101to20231231_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_StatementGeographicalAxis_US" unitRef="U009" decimals="INF" scale="0" format="ixt:num-dot-decimal">150</ix:nonFraction> suppliers from the United States and approximately <ix:nonFraction name="tlfa:NumberOfSuppliers" id="Fact_1ba4cfd506d64942859bd0fe89dc6c0e" contextRef="c20230101to20231231_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_StatementGeographicalAxis_NonUsMember" unitRef="U009" decimals="INF" scale="0" format="ixt:num-dot-decimal">20</ix:nonFraction>
            foreign countries.&#160; In general, our <ix:nonFraction name="tlfa:NumberOfMajorSuppliers" id="Fact_8e8e3dd99bd647b994d5aee2520048b9" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsPayableMember_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_TenMajorSuppliersMember" unitRef="U009" decimals="INF" scale="0" format="ixt:num-dot-decimal">10</ix:nonFraction> largest suppliers account for approximately <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_c442870b4c3d4fc2a16fe534ab962d4b" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsPayableMember_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_TenMajorSuppliersMember" unitRef="U007" decimals="2" scale="-2" format="ixt:num-dot-decimal">55</ix:nonFraction>% of our inventory purchases, and we had <ix:nonFraction name="tlfa:NumberOfSuppliers" id="Fact_a09fc462617649baa4f3b31d6cbf6de5" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsPayableMember_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_OneMajorSupplierMember" unitRef="U009" decimals="INF" scale="0" format="ixt-sec:numwordsen">one</ix:nonFraction> supplier in
            2023 who represented more than 10% of our purchases.</span><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee9" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee10">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal;"> <br/>
          </span></div>
</ix:continuation>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee10" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee11">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Credit Risk</div>
</ix:continuation>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee11" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee12">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee12" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee13">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Due to the large number of customers comprising our customer base, concentrations of credit risk with respect to customer receivables are limited. The top <ix:nonFraction name="tlfa:NumberOfMajorCustomers" id="Fact_facbe4af394449798a1bf29483b69c34" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember" unitRef="U008" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="tlfa:NumberOfMajorCustomers" id="Fact_1b142832a43f46059513f116885d3d84" contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember" unitRef="U008" decimals="INF" scale="0" format="ixt-sec:numwordsen">two</ix:nonFraction></ix:nonFraction> customers as of December 31, 2023, and 2022, represented <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_d17abacf80ac4a0d96a843e89573eedc" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">8.0</ix:nonFraction>% and <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_d00cdf6551724c0fb7a0cb0b0ff8f979" contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">10.0</ix:nonFraction>% of net accounts receivable balance, respectively. These top <ix:nonFraction name="tlfa:NumberOfMajorCustomers" id="Fact_d03620b2775e4dfda0d39a3b34dcf3a7" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember" unitRef="U008" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="tlfa:NumberOfMajorCustomers" id="Fact_ce74440791cf479c9da78b3ecd96587d" contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember" unitRef="U008" decimals="INF" scale="0" format="ixt-sec:numwordsen">two</ix:nonFraction></ix:nonFraction> customers were also current as of these same dates. We do not generally require collateral for accounts receivable, but we do perform periodic
          credit evaluations of our customers and believe the allowance for doubtful accounts is adequate.&#160; It is our opinion that if any one or a group of customer receivable balances should be deemed uncollectable, it would not have a material adverse
          effect on our results of operations or financial condition.</div>
</ix:continuation>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee13" continuedAt="Text_327bbadf3d644938a29d0af364ddd1ee14">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_327bbadf3d644938a29d0af364ddd1ee14">
<div style="text-align: justify;">
          <!--PROfilePageNumberReset%Num%56%%%--> <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">We maintain a majority of our cash in marketable securities and bank deposit accounts that, at times, may exceed federally insured limits.&#160; We have not experienced any losses in such accounts.&#160; We believe we are not exposed to any
            significant credit risk on our cash and cash equivalents. </span></div>
</ix:continuation>
        <div style="text-align: justify;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span>
        </div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <!--PROfilePageNumberReset%Num%57%%%--> </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <ix:nonNumeric name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="Text_e8ec3fe1363440188565d93c7e829ce4" contextRef="c20230101to20231231" escape="true" continuedAt="Text_9aeed24297724b0e843157d39380b9b11">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">10.&#160; STOCKHOLDERS&#8217; EQUITY</div>
</ix:nonNumeric>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b11" continuedAt="Text_9aeed24297724b0e843157d39380b9b12">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b12" continuedAt="Text_9aeed24297724b0e843157d39380b9b13">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Equity Compensation Plans</div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b13" continuedAt="Text_9aeed24297724b0e843157d39380b9b14">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b14" continuedAt="Text_9aeed24297724b0e843157d39380b9b15">
<div style="text-align: justify;"> <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">The
            Tandy Leather Factory, Inc. 2013 Restricted Stock Plan (the &#8220;2013 Plan&#8221;) was adopted by our Board of Directors in January 2013 and approved by our stockholders in June 2013.&#160; The 2013 Plan initially reserved up to <ix:nonFraction name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" id="Fact_17134f34cc674bdfa81ea4d8b18a5317" contextRef="c20130131_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_RangeAxis_MaximumMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">300,000</ix:nonFraction> shares of our common stock for restricted stock unit (&#8220;RSU&#8221;) awards to our executive officers, non-employee directors and other key
            employees.&#160; In June 2020, our stockholders approved an increase to the plan reserve to <ix:nonFraction name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" id="Fact_51b18c5c23f64f5fae2ba683ea04f671" contextRef="c20200630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">800,000</ix:nonFraction> shares of our common stock and
            extended the 2013 Plan through June 2023.&#160; Awards granted under the 2013 Plan may be service-based awards or performance-based awards and may be subject to a graded vesting schedule with a minimum vesting period of <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_1175c2f35c6049fb83969e9f33c25d67" contextRef="c20230101to20231231_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_RangeAxis_MinimumMember" format="ixt-sec:durwordsen">four years</ix:nonNumeric>, unless otherwise determined by the Compensation Committee of the Board of Directors that administers the plan.&#160; In June 2022, as part of
            their annual director compensation, certain of our non-employee directors were granted a total of <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_7a50862489a249368b5a75167eeb03b0" contextRef="c20220601to20220630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">14,000</ix:nonFraction> service-based RSUs under
            the 2013 Plan, which will vest ratably over the next <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_dcd6e557a3964a4794226b7ebab4ab23" contextRef="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember" format="ixt-sec:durwordsen">four years</ix:nonNumeric> provided that the participant is still on the board on the vesting
            date. </span> </div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b15" continuedAt="Text_9aeed24297724b0e843157d39380b9b16">
<div style="text-align: justify;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> <br/>
          </span></div>
</ix:continuation>
        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
          <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b16" continuedAt="Text_9aeed24297724b0e843157d39380b9b17">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">The Tandy Leather
            Factory, Inc. 2023 Incentive Stock Plan (the &#8220;2023 Plan&#8221;) was adopted by our Board of Directors in April 2023 and approved by our stockholders in June 2023.&#160; The 2023 Plan initially reserved up to <ix:nonFraction name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" id="Fact_6087fedc15d644e892950dfb1dd6205b" contextRef="c20230430_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_RangeAxis_MaximumMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">1,000,000</ix:nonFraction> shares of our common stock for a variety of equity awards (including, but not limited to, RSUs, the only type of awards that have been granted to date) to our
            executive officers, non-employee directors and other key employees.&#160; In June 2023, as part of their annual director compensation, certain of our non-employee directors were granted a total of <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_507aaa81fc914138883406e08ed46894" contextRef="c20230601to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">12,993</ix:nonFraction> service-based RSUs under the 2023 Plan, which will vest ratably over the next <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_bb9ce71643804acaa2b387cf8c9b8ba8" contextRef="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember" format="ixt-sec:durwordsen">four years</ix:nonNumeric>, subject to each participant&#8217;s continues service on the board as of each vesting date.&#160; In October 2023, the Company granted to Ms. Carr a total of <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_74969b62bbba4666bddd0882d51ae0cc" contextRef="c20231001to20231031_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">276,000</ix:nonFraction> service-based RSUs under the 2023 Plan, which will vest ratably over the next <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_1003d3fd34c84582ad7f14c613465f5e" contextRef="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember" format="ixt-sec:durwordsen">three years</ix:nonNumeric>, subject to Ms. Carr&#8217;s continued employment as of each vesting date.</div>
</ix:continuation>
          <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b17" continuedAt="Text_9aeed24297724b0e843157d39380b9b18">
<div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"> <br/>
          </div>
</ix:continuation>
          <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
            <div style="width: 100%;" class="BRPFPageFooter"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">50</span></div>

            <div style="page-break-after: always;" class="BRPFPageBreak">
              <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

            <div style="width: 100%;" class="BRPFPageHeader">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>

        </div>

        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b18" continuedAt="Text_9aeed24297724b0e843157d39380b9b19">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">In addition to grants under the Company&#8217;s equity compensation plans, in October 2018 we granted a total of <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_0622a4dafbfe49b78839d40bd5dcd676" contextRef="c20181001to20181031_AwardTypeAxis_RestrictedStockUnitsRSUMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">644,000</ix:nonFraction> RSUs to the Company&#8217;s Chief Executive Officer (&#8220;CEO&#8221;), of which (i) <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_19d577b47ed04d649379cf8f1672ff8c" contextRef="c20181001to20181031_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">460,000</ix:nonFraction>
          are service-based RSUs that vest ratably over a period of <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_f01a14dcee18406db4b2e4a4e2074941" contextRef="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember" format="ixt-sec:durwordsen">five years</ix:nonNumeric> from the grant date based on our CEO&#8217;s continued employment in
          her role, (ii) <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_7ce10eabcb0940e3a45471a8dcd25850" contextRef="c20181001to20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheOneMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">92,000</ix:nonFraction> are performance-based RSUs that will vest if the Company&#8217;s operating income exceeds $<ix:nonFraction name="tlfa:SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" id="Fact_3ee861c21b5a490aac5e46fff4e5f495" contextRef="c20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheOneMember" unitRef="U001" decimals="-6" scale="6" format="ixt:num-dot-decimal">12</ix:nonFraction> million dollars two fiscal years in a row, and (iii) <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_8cc6e2cf5b3a42f3bcc2fa4dbbf1641d" contextRef="c20181001to20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheTwoMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">92,000</ix:nonFraction>
          are performance-based RSUs that will vest if the Company&#8217;s operating income exceeds $<ix:nonFraction name="tlfa:SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" id="Fact_f5cd2256a5064c51acfdeb5b90bcf2c0" contextRef="c20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheTwoMember" unitRef="U001" decimals="-6" scale="6" format="ixt:num-dot-decimal">14</ix:nonFraction> million dollars in one fiscal year.&#160; As of
          December 31, 2023, the Company has concluded that the performance conditions related to these performance-based RSUs was not achieved, and as a result <ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_cf3e1d902d2248fd8713ac42dbe8049a" contextRef="c20230101to20231231_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember" unitRef="U001" decimals="0" scale="0" format="ixt-sec:numwordsen">no</ix:nonFraction>
          compensation expense related to these performance-based RSUs has been recorded.</div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b19" continuedAt="Text_9aeed24297724b0e843157d39380b9b110">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>

        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b110" continuedAt="Text_9aeed24297724b0e843157d39380b9b111"><ix:nonNumeric name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" id="Text_6fe57f8ba10c4cd4bf37fed71d8b6773" contextRef="c20230101to20231231" escape="true" continuedAt="Text_0bf56410bfc94f85a15c4900abde15811">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">A summary of the activity for restricted stock and RSU awards is as follows:</div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b111" continuedAt="Text_9aeed24297724b0e843157d39380b9b112"><ix:continuation id="Text_0bf56410bfc94f85a15c4900abde15811" continuedAt="Text_0bf56410bfc94f85a15c4900abde15812">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b112" continuedAt="Text_9aeed24297724b0e843157d39380b9b113"><ix:continuation id="Text_0bf56410bfc94f85a15c4900abde15812">
<table cellspacing="0" cellpadding="0" border="0" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" rowspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: center; font-weight: bold;" rowspan="1" colspan="3"> Shares</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: center; font-weight: bold;" rowspan="1" colspan="3"> Weighted Average </td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" rowspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: center; font-weight: bold; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="3"> (in thousands) </td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: center; font-weight: bold; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="3"> Share Price </td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Balance, January 1, 2023</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" id="Fact_07842993ba454af29090c5f231f28b84" contextRef="c20221231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">441</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_b8cfc39e401d4c0c9a9e400ee3858f2e" contextRef="c20221231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">6.46</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Granted</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_333921962041472abcbf040a2343dc70" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">290</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" id="Fact_9793edd8180e49b6a2f5c9f0081d86d1" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">4.25</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Forfeited</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" id="Fact_9e41aaf372244247a7b25f37adc278df" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" id="Fact_647e4662582c488282117687119e971c" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">5.00</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">Vested</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" id="Fact_6f8290bca7224f49a3d5e67054244de9" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">106</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" id="Fact_a5c15eaa8ded4234a79ddff754863f27" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">6.51</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Balance, December 31, 2023</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" id="Fact_1e007551e4734b25bfaa496e630a8abc" contextRef="c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">623</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 4px; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); padding-bottom: 4px; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_bb10ec7935c04df5bc22a9f90c88e557" contextRef="c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">5.12</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b113" continuedAt="Text_9aeed24297724b0e843157d39380b9b114">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b114" continuedAt="Text_9aeed24297724b0e843157d39380b9b115">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Company&#8217;s stock-based compensation relates to restricted stock and RSU awards.&#160; For these service-based awards, our stock-based compensation expense, included in
          operating expenses, was $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_00800d46214d4b22ab8fa3ff1cc11532" contextRef="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.8</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_ce164d2153fc419cb11e37e7420de920" contextRef="c20220101to20221231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.1</ix:nonFraction>
          million in 2023 and 2022, respectively.</div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b115" continuedAt="Text_9aeed24297724b0e843157d39380b9b116">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b116" continuedAt="Text_9aeed24297724b0e843157d39380b9b117">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023, the Company has concluded it is not probable that the performance conditions related to the performance-based RSUs described above will be
          achieved, and as a result <ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_d3d3aac396944f239081ae254f259dac" contextRef="c20230101to20231231_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember" unitRef="U001" decimals="0" scale="0" format="ixt-sec:numwordsen">no</ix:nonFraction> compensation expense related to performance-based RSUs has been recorded.</div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b117" continuedAt="Text_9aeed24297724b0e843157d39380b9b118">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">51</span></div>

          <div style="page-break-after: always;" class="BRPFPageBreak">
            <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

        <!--PROfilePageNumberReset%Num%58%%%-->
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b118" continuedAt="Text_9aeed24297724b0e843157d39380b9b119"><ix:nonNumeric name="us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" id="Text_2ee59aae6bd248b3ac9f7063a6aa6684" contextRef="c20230101to20231231" escape="true" continuedAt="Text_aceaa13a3a5c454aa75cb84bf8fe8fcd1">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023, there was unrecognized compensation cost related to non-vested, service-based awards of $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" id="Fact_b9af15e8829149c09fd2eb7ea587ba7f" contextRef="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.4</ix:nonFraction> million which will be recognized over <ix:nonNumeric name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Fact_f1ca07200ac04429a2f2709cbd41ab72" contextRef="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" format="ixt-sec:duryear">3.1</ix:nonNumeric> weighted average
          years in each of the following years:</div>
</ix:nonNumeric></ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b119" continuedAt="Text_9aeed24297724b0e843157d39380b9b120"><ix:continuation id="Text_aceaa13a3a5c454aa75cb84bf8fe8fcd1" continuedAt="Text_aceaa13a3a5c454aa75cb84bf8fe8fcd2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b120" continuedAt="Text_9aeed24297724b0e843157d39380b9b121"><ix:continuation id="Text_aceaa13a3a5c454aa75cb84bf8fe8fcd2">
<table cellspacing="0" cellpadding="0" border="0" style="width: 100%; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; margin-left: auto; margin-right: auto;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="4">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Unrecognized Expense</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 48%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="text-align: center; color: rgb(0, 0, 0);">2024 </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><br/>
                </div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" id="Fact_4abf5b8ffefa431fb818738f940e98cd" contextRef="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">571</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 48%; white-space: nowrap;">
                <div style="text-align: center; color: rgb(0, 0, 0);">2025 </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" id="Fact_a4a5cda127cd4223994206ab15383531" contextRef="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">468</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 48%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                <div style="text-align: center; color: rgb(0, 0, 0);">2026 </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" id="Fact_dfdbe2819cd5458aa419b6c286a80c25" contextRef="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">314</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 48%; padding-bottom: 2px; text-align: center; white-space: nowrap;">2027
              </td>

    <td valign="bottom" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1"><ix:nonFraction name="tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" id="Fact_789a1f13318f4f798e1c9ffc1d985c42" contextRef="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7</ix:nonFraction> </td>

    <td valign="bottom" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: center; width: 48%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" id="Fact_b6bc7db37f08495eaf3d72d9aea9f24d" contextRef="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,360</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b121" continuedAt="Text_9aeed24297724b0e843157d39380b9b122">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b122" continuedAt="Text_9aeed24297724b0e843157d39380b9b123">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We issue shares from authorized shares upon the lapsing of vesting restrictions on restricted stock and RSUs.&#160; In 2023 and 2022, we issued <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" id="Fact_9b3eaf5ef021482194bd0ab1f68ee90e" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">108,796</ix:nonFraction> and <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" id="Fact_e3c57f34d5d44165820b98b67a45f55d" contextRef="c20220101to20221231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">140,277</ix:nonFraction> shares,
          respectively net of shares withheld to pay participants&#8217; income taxes, resulting from the vesting of restricted stock and RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards.</div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b123" continuedAt="Text_9aeed24297724b0e843157d39380b9b124">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b124" continuedAt="Text_9aeed24297724b0e843157d39380b9b125">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="text-decoration: underline;"><span style="font-weight: bold;">Share Repurchase Program</span></span><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b125" continuedAt="Text_9aeed24297724b0e843157d39380b9b126">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="text-decoration: underline;"><span style="font-weight: bold;"> <br/>
            </span></span></div>
</ix:continuation>
      </div>

      <div>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b126" continuedAt="Text_9aeed24297724b0e843157d39380b9b127">
<div style="text-align: justify;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">On
            August 9, 2020, the Board of Directors approved a program to repurchase up to $<ix:nonFraction name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" id="Fact_1fe1276469cf43ea857396326ad5e605" contextRef="c20200809_RangeAxis_MaximumMember_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">5.0</ix:nonFraction> million of its common stock between August 9, 2020
            and July 31, 2022.&#160; This program expired in July 2022.&#160; <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">On August 8, 2022, the Board of Directors approved a new program to repurchase up to $<ix:nonFraction name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" id="Fact_cf498367ebcf49bfa9dc360d57b9e21d" contextRef="c20220808_RangeAxis_MaximumMember_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">5.0</ix:nonFraction> million of the
              Company&#8217;s common stock between that date and August 31, 2024.&#160; As of December 31, 2022 and December 31, 2023, $<ix:nonFraction name="us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" id="Fact_bffa7ee0a5d145349e09682996e9f2d3" contextRef="c20231231_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" id="Fact_16e0fa268a504562a7fa5813657add89" contextRef="c20221231_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">5.0</ix:nonFraction></ix:nonFraction> million
              remained available for repurchase under this new program.</span><br/>
          </span> </div>
</ix:continuation>
        <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b127" continuedAt="Text_9aeed24297724b0e843157d39380b9b128">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;">
          <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b128" continuedAt="Text_9aeed24297724b0e843157d39380b9b129">
<div style="background-color: rgb(255, 255, 255); margin-top: 0px; margin-bottom: 6pt; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-align: justify; text-transform: none;">On April 11, 2022, we entered into an agreement with&#160;two&#160;institutional shareholders of the Company to repurchase <ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" id="Fact_17ff5beb9c694aa283f64c1b826441fc" contextRef="c20220411to20220411_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">359,500</ix:nonFraction>
            shares of our common stock, par value $<ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact_0ae205f051e94bf68282e000c429588e" contextRef="c20220411_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember" unitRef="U003" decimals="4" scale="0" format="ixt:num-dot-decimal">0.0024</ix:nonFraction> in a private transaction. The purchase price was $<ix:nonFraction name="us-gaap:SharePrice" id="Fact_135d00a025ce4c0fba99a55ece4faf94" contextRef="c20220411_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">5.00</ix:nonFraction> per share for a total of $<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_e0f07b4df6784ade8dbec29af7214884" contextRef="c20220411to20220411_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.8</ix:nonFraction>
            million. The closing of the repurchases took place on April 22, 2022, and these shares were subsequently cancelled. Prior to the repurchase, the shares represented approximately <ix:nonFraction name="tlfa:PercentageOfCommonStockOutstanding" id="Fact_d5137ebdedd7479081ef2248ba2e7ba1" contextRef="c20220410_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember" unitRef="U007" decimals="3" scale="-2" format="ixt:num-dot-decimal">4.2</ix:nonFraction>% of our outstanding common stock.</div>
</ix:continuation>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
          <ix:continuation id="Text_9aeed24297724b0e843157d39380b9b129">
<div style="margin-top: 0px; margin-bottom: 0pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt; text-align: justify;"><span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;">The direct share repurchase transactions were separately authorized by our Board of Directors and did not reduce the remaining amount authorized to be
              repurchased under the plans described above.&#160; In July 2022, the Company repurchased <ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" id="Fact_c62d9fa3a4a84fee82d5de871db680c6" contextRef="c20220701to20220731_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">600</ix:nonFraction> shares of stock under the open market
              plan.</span></div>
</ix:continuation>
        </div>


        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
          <div style="width: 100%;" class="BRPFPageFooter"></div>

          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">52</span></div>

          <div style="page-break-after: always;" class="BRPFPageBreak">
            <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
              </a> </div>

          </div>

        </div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <!--PROfilePageNumberReset%Num%53%%%-->
    <div style="text-align: justify; color: rgb(0, 0, 0);">Report of Independent Registered Public Accounting Firm (PCAOB ID Number <span style="-sec-ix-hidden:Fact_5b62bdad4c83460289f86e36afe4fe07">410</span>)</div>

    <div style="text-align: justify; color: rgb(0, 0, 0);"> <br/>
    </div>

    <div style="text-align: justify; color: rgb(0, 0, 0);">
      <div>
        <div style="text-align: justify;">
          <div>
            <div>
              <div>
                <a id="ITEM9."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;">


  <tr style="vertical-align: top;">

    <td style="vertical-align: top; width: 54pt;">
                        <div style="font-weight: bold;"><span style="font-weight: bold;">ITEM 9.</span></div>
                      </td>

    <td style="vertical-align: top; width: auto;">
                        <div style="font-weight: bold;">CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</div>
                      </td>

  </tr>


</table>
              </div>

            </div>

          </div>

          <div>&#160;</div>

          <div>None.</div>

          <div>&#160;</div>

          <div>
            <a id="ITEM9A."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;">


  <tr style="vertical-align: top;">

    <td style="vertical-align: top; width: 54pt;">
                    <div style="font-weight: bold;">ITEM 9A.</div>
                  </td>

    <td style="vertical-align: top; width: auto;">
                    <div style="font-weight: bold;">CONTROLS AND PROCEDURES</div>
                  </td>

  </tr>


</table>
          </div>

          <div>&#160;</div>

          <div>
            <div>
              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Evaluation of Disclosure Controls and Procedures</div>

              <div>&#160;</div>

              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Our management, with the participation of our Chief Executive Officer (who serves as our principal executive officer and principal financial officer),
                evaluated the design and operation of our &#8220;disclosure controls and procedures&#8221; (as defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended) as of the end of the period covered by this report.&#160;&#160;Based
                upon their evaluation of these disclosure controls and procedures, our management, with the participation of our Chief Executive Officer, has concluded that the disclosure controls and procedures were effective as of the date of such
                evaluation in ensuring that information required to be disclosed in the reports that we file or submit under the Exchange Act is (1) recorded, processed, summarized and reported in a timely manner, and (2) accumulated and communicated to
                our management, including our principal executive and principal financial officers, as appropriate, to allow timely decisions regarding required disclosure.</div>

              <div>&#160;</div>

              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Management&#8217;s Annual Report on Internal Control over Financial Reporting</div>

              <div>&#160;</div>

              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Our management is responsible for establishing and maintaining adequate internal control over our financial reporting.&#160;&#160;Our internal control system was
                designed to provide reasonable assurance to our management and our board of directors regarding the reliability of the preparation and fair presentation of our published financial statements.</div>

              <div>&#160;</div>

              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">All internal control systems, no matter how well designed, have inherent limitations.&#160;&#160;Therefore, even those systems determined effective can provide only
                reasonable assurance with respect to financial statement preparation and presentation.</div>

              <div>&#160;</div>

              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">A material weakness is defined as a deficiency, or combination of deficiencies in internal control over financial reporting, such that there is a reasonable
                possibility that a material misstatement of our annual or interim financial statements will not be prevented or detected on a timely basis.</div>

              <div>&#160;</div>

              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">We assessed the effectiveness of our internal controls over financial reporting as of December 31, 2023.&#160;&#160;In making this assessment, we used the criteria set
                forth by the Committee of Sponsoring Organizations of the Treadway Commissions (COSO) in&#160;<span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">Internal Control &#8211; Integrated Framework.&#160;</span>Based on our
                assessment, and until March 8, 2024, we believed that as of December 31, 2023, our internal control over financial reporting was effective based on those criteria.</div>

              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
              </div>

              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">
                <div>
                  <div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">However, on March 8, 2024, Weaver and Tidwell, L.L.P., our registered public accounting firm, informed us that they believe the
                    following deficiencies in the Company&#8217;s internal control to be material weaknesses:</div>

                  <div style="text-align: justify;">&#160;</div>

                </div>

                <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">&#8220;The Company lacks key controls preventing and detecting errors from occurring regarding the accuracy and valuation of customer discounts
                  given and selling prices which impact revenues. Such key controls should validate and review any customer discounts given and product pricing changes to ensure accuracy and appropriateness. In addition, the accuracy and completeness of
                  the system-generated data and reports used and relied upon was not validated.&#8221;</div>

              </div>

              <div style="text-align: justify;">&#160;</div>

            </div>

          </div>

          <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div class="BRPFPageFooter" style="width: 100%;"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">53</span></div>

            <div class="BRPFPageBreak" style="page-break-after: always;">
              <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

            <div class="BRPFPageHeader" style="width: 100%;">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>

          <!--PROfilePageNumberReset%Num%53%%%-->
          <div>
            <div style="color: rgb(0, 0, 0);">
              <div>
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">This annual report does not include an attestation report of our registered public accounting firm regarding internal control over financial
                  reporting.&#160;&#160;Management&#8217;s report is not subject to attestation by our 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.</div>

                <div>&#160;</div>

                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Notwithstanding this identified material weakness, our registered public accounting firm has issued an unqualified opinion on our consolidated financial
                  statements of and for the year ended December 31, 2023. And our management has been unable to measure any impact of this material weakness on the Company&#8217;s financial reporting.</div>

                <div>&#160;</div>

                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">We have subsequently put controls into place to address the issue described above, including a number of procedures designed as preventative controls to
                  validate customers into various classes that are eligible to receive certain discounts, and contemporaneous confirmation and testing that pricing, discounts, customer-based price lists and negotiated prices in our ERP system are as
                  intended by management.&#160;&#160; We also have implemented monthly and quarterly detective controls including testing representative samples of retail prices, promoted prices, discounts, customer-based price lists and negotiated prices that were
                  actually paid by customers to confirm that they were as management intended.&#160; We have tested these controls for January, February, and March 2024 and based on the test sample, found no material errors related to our discounts or pricing.</div>

                <div>&#160;</div>

              </div>

            </div>

          </div>

        </div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">ITEM 9B<a id="ITEM9B"><!--Anchor--></a>.&#160; OTHER INFORMATION</div>

      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"> <br/>
      </div>

      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"><ix:nonNumeric name="ecd:NonRule10b51ArrTrmntdFlag" id="Fact_f7ecccfdfd4e4a3680677131f7df0e40" contextRef="c20231001to20231231" format="ixt:fixed-false"><ix:nonNumeric name="ecd:Rule10b51ArrTrmntdFlag" id="Fact_6c49d998f21d4b7d8b4f3912f7591a05" contextRef="c20231001to20231231" format="ixt:fixed-false"><ix:nonNumeric name="ecd:Rule10b51ArrAdoptedFlag" id="Fact_b1d3bca7adf04a1e91cf9220f6d1d57c" contextRef="c20231001to20231231" format="ixt:fixed-false"><ix:nonNumeric name="ecd:NonRule10b51ArrAdoptedFlag" id="Fact_3752a024056c4934a976121dbade3847" contextRef="c20231001to20231231" format="ixt:fixed-false">None</ix:nonNumeric></ix:nonNumeric></ix:nonNumeric></ix:nonNumeric>.</div>

      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"> <br/>
      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <div>
        <div>
          <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
            <div class="BRPFPageFooter" style="width: 100%;"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">54</span></div>

            <div style="page-break-after: always;" class="BRPFPageBreak">
              <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

            <div class="BRPFPageHeader" style="width: 100%;">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>

          <a id="PARTIII"><!--Anchor--></a>
          <div style="font-weight: bold;">PART III</div>

          <div>&#160;</div>

          <div>
            <a id="ITEM10."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                    <div style="font-weight: bold; text-align: left;">ITEM 10.</div>
                  </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                    <div style="font-weight: bold;">DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE*</div>
                  </td>

  </tr>


</table>
          </div>

          <div>&#160;</div>

          <div>
            <a id="ITEM11."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                    <div style="font-weight: bold; text-align: left;">ITEM 11.</div>
                  </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                    <div style="font-weight: bold;">EXECUTIVE COMPENSATION*</div>
                  </td>

  </tr>


</table>
          </div>

          <div>&#160;</div>

          <div>
            <a id="ITEM12."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                    <div style="font-weight: bold; text-align: left;">ITEM 12.</div>
                  </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                    <div style="font-weight: bold;">SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS*</div>
                  </td>

  </tr>


</table>
          </div>

          <div>&#160;</div>

          <div>
            <a id="ITEM13."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                    <div style="font-weight: bold; text-align: left;">ITEM 13.</div>
                  </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                    <div style="font-weight: bold;">CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE*</div>
                  </td>

  </tr>


</table>
          </div>

          <div>&#160;</div>

          <div>
            <a id="ITEM14."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                    <div style="font-weight: bold; text-align: left;">ITEM 14.</div>
                  </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                    <div style="font-weight: bold;">PRINCIPAL ACCOUNTANT FEES AND SERVICES*</div>
                  </td>

  </tr>


</table>
          </div>

          <div>&#160;</div>

          <div style="text-align: justify;">* The information required by Items 10, 11, 12, 13, and 14 is or will be set forth in the definitive proxy statement relating to the 2024 Annual Meeting of Stockholders of Tandy Leather Factory, Inc., which is to
            be filed with the Securities and Exchange Commission pursuant to Regulation 14A under the Securities Exchange Act of 1934, as amended.&#160; This definitive proxy statement relates to a meeting of stockholders involving the election of directors and
            the portions therefrom required to be set forth in this Form 10-K by Items 10, 11, 12, 13, and 14 are incorporated herein by reference pursuant to General Instruction G(3) to Form 10-K.</div>

          <div>&#160;</div>

          <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
            <div class="BRPFPageFooter" style="width: 100%;"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">55</span></div>

            <div style="page-break-after: always;" class="BRPFPageBreak">
              <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

            <div class="BRPFPageHeader" style="width: 100%;">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>

          <a id="PARTIV"><!--Anchor--></a>
          <div style="font-weight: bold;">PART IV</div>

          <div>&#160;</div>

          <div>
            <a id="ITEM15."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                    <div style="font-weight: bold; text-align: left;">ITEM 15.</div>
                  </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                    <div style="font-weight: bold;">EXHIBITS, FINANCIAL STATEMENT SCHEDULES</div>
                  </td>

  </tr>


</table>
          </div>

          <div>&#160;</div>

          <div>
            <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 36pt;">
                    <div style="text-align: justify;">(a)</div>
                  </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                    <div style="text-align: justify;">The following are filed as part of this Form 10-K:</div>
                  </td>

  </tr>


</table>
          </div>

          <div>&#160;</div>

          <div style="font-weight: bold;">1.&#160; Financial Statements</div>

          <div>&#160;</div>

          <div style="text-align: justify;">The following Consolidated Financial Statements are included in Item 8, Financial Statements and Supplementary Data:</div>

          <div>&#160;</div>

          <div style="text-align: justify;">Report of Independent Registered Public Accounting Firm (PCAOB ID Number 410)</div>

          <div>&#160;</div>

          <div style="text-align: justify;">Consolidated Balance Sheets as of December 31, 2023 and 2022</div>

          <div>&#160;</div>

          <div style="text-align: justify;">Consolidated Statements of Operations and Comprehensive Income for the years ended December 31, 2023 and 2022</div>

          <div>&#160;</div>

          <div style="text-align: justify;">Consolidated Statements of Cash Flows for the years ended December 31, 2023 and 2022</div>

          <div>&#160;</div>

          <div style="text-align: justify;">Consolidated Statements of Stockholders&#8217; Equity for the years ended December 31, 2023 and 2022</div>

          <div>&#160;</div>

          <div style="font-weight: bold;">2.&#160; Financial Statement Schedules</div>

          <div>&#160;</div>

          <div style="text-align: justify;">All financial statement schedules are omitted because the required information is not present or not present in sufficient amounts to require submission of the schedule or because the information is reflected in
            the Consolidated Financial Statements or notes thereto.</div>

          <div>&#160;</div>

          <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
            <div class="BRPFPageFooter" style="width: 100%;"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">56</span></div>

            <div style="page-break-after: always;" class="BRPFPageBreak">
              <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

            <div class="BRPFPageHeader" style="width: 100%;">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>

          <div style="font-weight: bold;">3.&#160; Exhibits</div>

          <div>&#160;</div>

          <a id="EXHIBITINDEX"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 12%; vertical-align: top;">&#160;</td>

    <td style="width: 88%; vertical-align: top;">
                  <div style="font-weight: bold;">TANDY LEATHER FACTORY, INC. AND SUBSIDIARIES</div>

                  <div style="font-weight: bold;">EXHIBIT INDEX</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;">
                  <div style="text-align: justify; font-weight: bold;">Exhibit</div>
                  <div style="text-align: justify; font-weight: bold;">Number</div>
                </td>

    <td style="width: 88%; vertical-align: bottom;">
                  <div style="text-align: justify; font-weight: bold;">Description</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972405000028/ex3-1.htm">3.1</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Certificate of Incorporation of The Leather Factory, Inc., and Certificate of Amendment to Certificate of Incorporation of The Leather Factory, Inc. filed as Exhibit 3.1 to Tandy Leather Factory, Inc.&#8217;s
                    Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on August 12, 2005 and incorporated by reference herein.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036121040868/brhc10031621_ex3-1.htm">3.2</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Bylaws of Tandy Leather Factory, Inc., filed as Exhibit 3.1 to Tandy Leather Factory, Inc.&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on December 8, 2021 and
                    incorporated by reference herein.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972413000031/exh3-1.htm">3.3</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Certificate of Designations of Series A Junior Participating Preferred Stock of Tandy Leather Factory, Inc. filed as Exhibit 3.1 to Tandy Leather Factory, Inc.&#8217;s Current Report on Form 8-K filed with the
                    Securities and Exchange Commission on June 10, 2013 and incorporated by reference herein.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1"><br/>
                </td>

    <td style="width: 88%; vertical-align: top;" rowspan="1"><br/>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);" rowspan="1"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036123015325/brhc10050479_ex3-4.htm">3.4<br/>
                  </a></td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);" rowspan="1">
                  <div style="text-align: justify;">Certificate of Amendment of Certificate of Incorporation of Tandy Leather Factory, Inc. dated March 1, 2023, filed as Exhibit 3.4 to Tandy Leather Factory, Inc.&#8217;s Annual Report on Form 10-K filed with the
                    Securities and Exchange Commission on March 31, 2023.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036121021870/brhc10025890_ex4-1.htm">4.1</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Description of Securities filed as Exhibit 4.1 to Tandy Leather Factory, Inc.&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on June 22, 2021 and incorporated by
                    reference herein.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972413000048/exhibit10-1.htm">10.1</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Tandy Leather Factory, Inc. 2013 Restricted Stock Plan, filed as Exhibit 10.1 to Tandy Leather Factory&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on November 14,
                    2013 and incorporated by reference herein.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036121021870/brhc10025890_ex10-5.htm">10.2</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Amendment #1 to Tandy Leather Factory, Inc. 2013 Restricted Stock Plan filed as Exhibit 10.5 to Tandy Leather Factory, Inc.&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange
                    Commission on June 22, 2021 and incorporated by reference herein.</div>
                </td>

  </tr>


</table>
          <div><br/>
          </div>

          <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
            <div class="BRPFPageFooter" style="width: 100%;"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">57</span></div>

            <div style="page-break-after: always;" class="BRPFPageBreak">
              <hr style="border-width: 0px; clear: both; margin-top: 4px; margin-bottom: 4px; width: 100%; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/></div>

            <div class="BRPFPageHeader" style="width: 100%;">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>

          <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972414000004/exhibit10-1.htm">10.3</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Form of Non-Employee Director Restricted Stock Agreement under Tandy Leather Factory, Inc.&#8217;s 2013 Restricted Stock Plan, filed as Exhibit 10.1 to Tandy Leather Factory, Inc.&#8217;s Current Report on Form 8-K
                    filed with the Securities and Exchange Commission on February 14, 2014 and incorporated by reference herein.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036121021870/brhc10025890_ex10-7.htm">10.4</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Form of Employee Restricted Stock Award Agreement under Tandy Leather Factory, Inc.&#8217;s 2013 Restricted Stock Plan, filed as Exhibit 10.7 to Tandy Leather Factory, Inc.&#8217;s Current Report on Form 8-K filed
                    with the Securities and Exchange Commission on February 14, 2014 and incorporated by reference herein.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972418000022/exhibit10-1.htm">10.5</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Form of Employment Agreement dated October 2, 2018 between the Company and Janet Carr, filed as Exhibit 10.1 to Tandy Leather Factory Inc.&#8217;s Current Report on Form 8-K filed with the Securities and
                    Exchange Commission on October 5, 2018 and incorporated by reference herein.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972418000022/exhibit10-2.htm">10.6</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Form of Stand-Alone Restricted Stock Unit Agreement dated October 2, 2018 between the Company and Janet Carr, filed as Exhibit 10.2 to Tandy Leather Factory Inc.&#8217;s Current Report on Form 8-K filed with
                    the Securities and Exchange Commission on October 5, 2018 and incorporated by reference herein.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972418000022/exhibit10-3.htm">10.7</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Form of Stand-Alone Restricted Stock Unit Agreement dated October 2, 2018 between the Company and Janet Carr, filed as Exhibit 10.3 to Tandy Leather Factory Inc.&#8217;s Current Report on Form 8-K filed with
                    the Securities and Exchange Commission on October 5, 2018 and incorporated by reference herein.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036123015325/brhc10050479_ex10-8.htm">10.8</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Credit Agreement dated October 26, 2022 between the Company and JP Morgan Chase Bank, N.A., filed as Exhibit 10.8 to Tandy Leather Factory, Inc.&#8217;s Annual Report on Form 10-K filed with the Securities and
                    Exchange Commission on March 31, 2023</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036123039677/brhc20057333_ex10-10.htm">10.9</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">Tandy Leather Factory, Inc. 2023 Incentive Stock Plan, filed as Exhibit 10.10 to Tandy Leather Factory, Inc.&#8217;s Quarterly Report on Form 10-Q filed with the
                  Securities and Exchange Commission on August 14, 2023</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036121021870/brhc10025890_ex14-1.htm">14.1</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Code of Business Conduct and Ethics of Tandy Leather Factory, Inc., adopted by the Board of Directors on December 4, 2018, filed as Exhibit 14.1 to Tandy Leather Factory, Inc.&#8217;s Quarterly Report on Form
                    10-Q filed with the Securities and Exchange Commission on June 22, 2021 and incorporated by reference herein.</div>
                </td>

  </tr>


</table>
          <div><br/>
          </div>

          <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
            <div class="BRPFPageFooter" style="width: 100%;"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">58</span></div>

            <div style="page-break-after: always;" class="BRPFPageBreak">
              <hr style="border-width: 0px; clear: both; margin-top: 4px; margin-bottom: 4px; width: 100%; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/></div>

            <div class="BRPFPageHeader" style="width: 100%;">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>

          <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="ef20015300_ex21-1.htm">*21.1</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Subsidiaries of Tandy Leather Factory, Inc.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="ef20015300_ex23-1.htm">*23.1</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Consent of Independent Registered Public Accounting Firm.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;" rowspan="1">&#160;</td>

    <td style="width: 88%; vertical-align: top;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="ef20015300_ex31-1.htm">*31.1</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Certification by the Chief Executive Officer and President pursuant to Rule 13a-14(a) or 15d-14(a) under the Securities Exchange Act of 1934, as amended.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;">&#160;</td>

    <td style="width: 88%; vertical-align: top;"><br/>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;"><a href="ef20015300_ex32-1.htm">*32.1</a></div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">Certification Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;">&#160;</td>

    <td style="width: 88%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">*101.INS</div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">XBRL Instance Document.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;">&#160;</td>

    <td style="width: 88%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">*101.SCH</div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">XBRL Taxonomy Extension Schema Document.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;">&#160;</td>

    <td style="width: 88%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">*101.CAL</div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">XBRL Taxonomy Extension Calculation Document.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;">&#160;</td>

    <td style="width: 88%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">*101.DEF</div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">XBRL Taxonomy Extension Definition Document.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;">&#160;</td>

    <td style="width: 88%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">*101.LAB</div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">XBRL Taxonomy Extension Labels Document.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top;">&#160;</td>

    <td style="width: 88%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 12%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">*101.PRE</div>
                </td>

    <td style="width: 88%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: justify;">XBRL Taxonomy Extension Presentation Document.</div>
                </td>

  </tr>


</table>
          <div>
<div>&#160;
            </div>
<hr style="background-color: rgb(0, 0, 0); border-width: medium; border-style: none; border-color: -moz-use-text-color; margin-top: 0px; margin-bottom: 0px; height: 2px; width: 10%; color: rgb(0, 0, 0); margin-left: 0px; margin-right: auto;"/></div>

          <div> <br/>
          </div>
<div>
          &#160;&#160; *Filed Herewith
          </div>
<div>&#160;</div>

          <div>
            <a id="ITEM16."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 54pt;">
                    <div style="font-weight: bold; text-align: left;">ITEM 16.</div>
                  </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                    <div style="font-weight: bold;">FORM 10-K SUMMARY</div>
                  </td>

  </tr>


</table>
          </div>

          <div>&#160;</div>

          <div style="text-align: justify;">None.</div>

          <div>&#160;</div>

          <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
            <div class="BRPFPageFooter" style="width: 100%;"></div>

            <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">59</span></div>

            <div style="page-break-after: always;" class="BRPFPageBreak">
              <hr style="margin-top: 4px; margin-bottom: 4px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;"/></div>

            <div class="BRPFPageHeader" style="width: 100%;">
              <div style="font-size: 8pt; font-style: italic;"><a href="#TABLEOFCONTENTS">Table of Contents<br/>
                </a> </div>

            </div>

          </div>

          <a id="SIGNATURES"><!--Anchor--></a>
          <div style="font-weight: bold;">SIGNATURES</div>

          <div>&#160;</div>

          <div style="text-align: justify;">Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, as amended, the Registrant has duly caused this Form 10-K to be signed on its behalf by the undersigned, thereunto duly
            authorized.</div>

          <div>&#160;</div>

          <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 50%; vertical-align: top;"><br/>
                </td>

    <td style="vertical-align: top;" colspan="2">
                  <div style="text-align: justify; font-weight: bold;">TANDY LEATHER FACTORY, INC.</div>
                </td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;"><br/>
                </td>

    <td style="vertical-align: top;" colspan="2">&#160;</td>

  </tr>


</table>
          <div>
            <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 50%; vertical-align: top; color: rgb(0, 0, 0); padding-bottom: 2px;" rowspan="1">&#160;</td>

    <td style="vertical-align: top; width: 3%; padding-bottom: 2px;" rowspan="1">By:</td>

    <td style="vertical-align: top; width: 47%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">/s/ Janet Carr</div>
                  </td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top; color: rgb(0, 0, 0);" rowspan="1">&#160;</td>

    <td style="vertical-align: top; width: 3%;" rowspan="1">&#160;</td>

    <td style="vertical-align: top; width: 47%;" rowspan="1">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Janet Carr</div>
                  </td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top; color: rgb(0, 0, 0);" rowspan="1">&#160;</td>

    <td style="vertical-align: top; width: 3%;" rowspan="1">&#160;</td>

    <td style="vertical-align: top; width: 47%;" rowspan="1">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Chief Executive Officer</div>
                  </td>

  </tr>


</table>
            <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 50%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Dated:&#160; March 22, 2024</div>
                  </td>

    <td style="vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>


</table>
          </div>

          <div><br/>
          </div>

          <div style="text-align: justify;">Pursuant to the requirements of the Securities Exchange Act of 1934 as amended, this Report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates
            indicated.</div>

          <div><br/>
          </div>

          <div>
            <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">


  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify; font-weight: bold; color: rgb(0, 0, 0);">Signature</div>
                  </td>

    <td style="width: 41.46%; vertical-align: top;">
                    <div style="text-align: justify; font-weight: bold; color: rgb(0, 0, 0);">Title</div>
                  </td>

    <td style="width: 19.74%; vertical-align: top;">
                    <div style="text-align: justify; font-weight: bold; color: rgb(0, 0, 0);">Date</div>
                  </td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">/s/ Jefferson Gramm</div>
                  </td>

    <td style="width: 41.46%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Chairman of the Board&#160; <br/>
                    </div>
                  </td>

    <td style="width: 19.74%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">March 22, 2024</div>
                  </td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify;">Jefferson Gramm</div>
                  </td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">/s/ Janet Carr</div>
                  </td>

    <td style="width: 41.46%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Chief Executive Officer, Director</div>
                  </td>

    <td style="width: 19.74%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">March 22, 2024</div>
                  </td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">Janet Carr&#160;</td>

    <td style="width: 41.46%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">(principal executive officer)</div>
                  </td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">/s/ Eric Speron <br/>
                    </div>
                  </td>

    <td style="width: 41.46%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Director</div>
                  </td>

    <td style="width: 19.74%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">
                      <div style="color: rgb(0, 0, 0);">March 22, 2024</div>
                    </div>
                  </td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Eric Speron</div>
                  </td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">/s/ James Pappas</div>
                  </td>

    <td style="width: 41.46%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Director</div>
                  </td>

    <td style="width: 19.74%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">
                      <div style="color: rgb(0, 0, 0);">March 22, 2024</div>
                    </div>
                  </td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">James Pappas</div>
                  </td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">/s/ Vicki Cantrell</div>
                  </td>

    <td style="width: 41.46%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Director</div>
                  </td>

    <td style="width: 19.74%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">
                      <div style="color: rgb(0, 0, 0);">March 22, 2024</div>
                    </div>
                  </td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Vicki Cantrell</div>
                  </td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">/s/ Sejal Patel</div>
                  </td>

    <td style="width: 41.46%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Director</div>
                  </td>

    <td style="width: 19.74%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">
                      <div style="color: rgb(0, 0, 0);">March 22, 2024</div>
                    </div>
                  </td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Sejal Patel</div>
                  </td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">/s/ Elaine D. Crowley</td>

    <td style="width: 41.46%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Director</div>
                  </td>

    <td style="width: 19.74%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">
                      <div style="color: rgb(0, 0, 0);">March 22, 2024</div>
                    </div>
                  </td>

  </tr>

  <tr>

    <td style="width: 38.79%; vertical-align: top;">
                    <div style="text-align: justify; color: rgb(0, 0, 0);">Elaine D. Crowley</div>
                  </td>

    <td style="width: 41.46%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

    <td style="width: 19.74%; vertical-align: top; color: rgb(0, 0, 0);">&#160;</td>

  </tr>


</table>
          </div>

          <div><br/>
          </div>

          <div><br/>
          </div>

          <div style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">60</span> </div>

          <div>
            <hr style="height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); text-align: center; border: medium none; margin-left: auto; margin-right: auto;"/> </div>

        </div>

      </div>

    </div>

  </div>


</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>2
<FILENAME>ef20015300_ex21-1.htm
<DESCRIPTION>EXHIBIT 21.1
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: Broadridge Financial Solutions, Inc.
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000;">
  <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;">
  <div>
    <div style="font-weight: bold;"> EXHIBIT 21.1<br>
    </div>
    <div style="font-weight: bold;"> <br>
    </div>
    <div style="font-weight: bold;">LIST OF THE SUBSIDIARIES OF THE COMPANY</div>
    <div>&#160;</div>
    <div style="text-align: justify;">The Leather Factory, Inc., a Nevada corporation</div>
    <div>&#160;</div>
    <div style="text-align: justify;">The Leather Factory of Nevada Investments, Inc., a Nevada corporation</div>
    <div>&#160;</div>
    <div style="text-align: justify;">The Leather Factory, LP, a Texas limited partnership</div>
    <div>&#160;</div>
    <div style="text-align: justify;">The Leather Factory, Inc., an Arizona corporation</div>
    <div>&#160;</div>
    <div style="text-align: justify;">Hi-Line Leather &amp; Manufacturing Company, a California corporation</div>
    <div>&#160;</div>
    <div style="text-align: justify;">Roberts, Cushman &amp; Company, Inc., a New York corporation</div>
    <div>&#160;</div>
    <div style="text-align: justify;">The Leather Factory of Canada Ltd., an Ontario domiciled Canadian corporation</div>
    <div>&#160;</div>
    <div style="text-align: justify;">Tandy Leather Company, Inc., a Nevada corporation</div>
    <div>&#160;</div>
    <div style="text-align: justify;">Tandy Leather Company Investments, Inc. a Nevada corporation</div>
    <div>&#160;</div>
    <div style="text-align: justify;">Tandy Leather Company, LP, a Texas limited partnership</div>
    <div>&#160;</div>
    <div style="text-align: justify;">Tandy Leather Factory Espana, S.L., a Spanish limited liability company</div>
    <div>&#160;</div>
    <div> <br>
    </div>
    <div>
      <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"></div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>ef20015300_ex23-1.htm
<DESCRIPTION>EXHIBIT 23.1
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: Broadridge Financial Solutions, Inc.
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000;">
  <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;">
  <div>
    <div style="font-weight: bold; text-align: right;">EXHIBIT 23.1</div>
    <div>&#160;</div>
    <div><img src="image00002.jpg"> </div>
    <div><br>
    </div>
    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Consent of Independent Registered Public Accounting Firm</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We hereby consent to the incorporation by reference in the Registration Statement on Form S-8 No. <font style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">333-190389 </font>of Tandy Leather Factory, Inc. of our report dated March 22, 2024, relating to the consolidated financial statements, which appear in this Form 10-K.</div>
    <div>&#160;</div>
    <div><img width="253" border="0" height="35" src="image00003.jpg"> </div>
    <div> <br>
    </div>
    <div>
      <div>
        <div>/s/ WEAVER AND TIDWELL, L.L.P.</div>
      </div>
    </div>
    <br>
    <div>Oklahoma City, Oklahoma</div>
    <div>&#160;</div>
    <div>March 22, 2024</div>
    <div> <br>
    </div>
    <div> <br>
    </div>
    <div> <br>
    </div>
    <div>
      <div style="text-align: right;">Weaver and Tidwell, L.L.P.</div>
      <div style="text-align: right;"> 499 West Sheridan Avenue, Suite 2450 | Oklahoma City, OK 73102</div>
      <div style="text-align: right;">Main: 405.594.9200</div>
      <div style="text-align: right; color: rgb(61, 108, 86); font-weight: bold;">CPAs AND ADVISORS | WEAVER.COM</div>
    </div>
    <div>
      <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"> </div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>ef20015300_ex31-1.htm
<DESCRIPTION>EXHIBIT 31.1
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: Broadridge Financial Solutions, Inc.
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000;">
  <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;">
  <div>
    <div>
      <div style="font-weight: bold;">EXHIBIT 31.1</div>
      <div>&#160;</div>
      <div style="text-align: center; font-weight: bold;">Certification of Chief Executive Officer and Principal Financial Officer</div>
      <div>&#160;</div>
      <div style="text-align: center;">Section 302 Certification</div>
      <div style="text-align: justify; margin-right: 36pt;">I, Janet Carr, certify that:</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">I have reviewed this annual report on Form 10-K of Tandy Leather Factory, Inc.;</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances
        under which such statements were made, not misleading with respect to the period covered by this report;</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and
        cash flows of the registrant as of, and for, the periods presented in this report;</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">The registrant&#8217;s other certifying officer(s) 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 have:</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the
        registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">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;</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures,
        as of the end of the period covered by this report based on such evaluation; and</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal
        quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit
        committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">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</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">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.</div>
      <div>&#160;
        <table cellspacing="0" cellpadding="0" border="0" id="z6b0df671e6304e728076e6d058359790" style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000; width: 100%;">

            <tr>
              <td style="width: 50.00%;">
                <div>Date:&#160; March 22, 2024</div>
              </td>
              <td style="width: 50.00%;">/s/ Janet Carr</td>
            </tr>
            <tr>
              <td style="width: 50.00%;">
                <div>&#160;</div>
              </td>
              <td style="width: 50.00%;">
                <div>&#160;</div>
              </td>
            </tr>
            <tr>
              <td style="width: 50.00%;">
                <div>&#160;</div>
              </td>
              <td style="width: 50.00%;">
                <div>Janet Carr</div>
              </td>
            </tr>
            <tr>
              <td style="width: 50.00%;">
                <div>&#160;</div>
              </td>
              <td style="width: 50.00%;">
                <div>Chief Executive Officer</div>
              </td>
            </tr>
            <tr>
              <td style="width: 50.00%;">
                <div>&#160;</div>
              </td>
              <td style="width: 50.00%;">
                <div>(principal executive officer and principal financial officer)</div>
              </td>
            </tr>

        </table>
      </div>
    </div>
  </div>
  <div><br>
  </div>
  <br>
  <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;">
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>5
<FILENAME>ef20015300_ex32-1.htm
<DESCRIPTION>EXHIBIT 32.1
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: Broadridge Financial Solutions, Inc.
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000;">
  <div>
    <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;">
    <div>
      <div style="font-weight: bold;">EXHIBIT 32.1</div>
      <div>&#160;</div>
      <div style="font-weight: bold;">Certification Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to</div>
      <div>&#160;</div>
      <div style="font-weight: bold;">Section 906 of the Sarbanes-Oxley Act of 2002</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">In connection with the annual report on Form 10-K of Tandy Leather Factory, Inc. (the &#8220;Company&#8221;) for the fiscal year ended December 31, 2023 as filed with the United States Securities and Exchange
        Commission on the date hereof (the &#8220;Report&#8221;), each of the undersigned officers of the Company certifies, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended; and</div>
      <div>&#160;</div>
      <div style="text-align: justify; margin-right: 36pt;">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</div>
      <div>&#160;</div>
      <div>
        <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000; width: 100%;">

            <tr>
              <td style="width: 50.00%;">
                <div>Date:&#160; March 22, 2024 </div>
              </td>
              <td style="width: 50.00%;">
                <div>By:&#160; /s/ Janet Carr<br>
                </div>
              </td>
            </tr>
            <tr>
              <td style="width: 50.00%;">
                <div>&#160;</div>
              </td>
              <td style="width: 50%;">Janet Carr</td>
            </tr>
            <tr>
              <td style="width: 50.00%;">
                <div>&#160;</div>
              </td>
              <td style="width: 50.00%;">
                <div>&#160;</div>
              </td>
            </tr>
            <tr>
              <td style="width: 50.00%;">
                <div>&#160;</div>
              </td>
              <td style="width: 50.00%;">Chief Executive Officer</td>
            </tr>
            <tr>
              <td style="width: 50.00%;">
                <div>&#160;</div>
              </td>
              <td style="width: 50.00%;">
                <div>(principal executive officer and principal financial officer)</div>
              </td>
            </tr>

        </table>
      </div>
      <div>&#160;</div>
      <div> <br>
      </div>
      <div>
        <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"> </div>
    </div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>tlfa-20231231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<xs:schema targetNamespace="http://tandyleather.com/20231231" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tlfa="http://tandyleather.com/20231231" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:srt-types="http://fasb.org/srt-types/2023">
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xlink:type="simple" xlink:href="tlfa-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="tlfa-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="tlfa-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="tlfa-20231231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:roleType roleURI="http://tandyleather.com/role/DocumentAndEntityInformation" id="DocumentAndEntityInformation">
        <link:definition>000100 - 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://tandyleather.com/role/ConsolidatedBalanceSheets" id="ConsolidatedBalanceSheets">
        <link:definition>010000 - 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://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals" id="ConsolidatedBalanceSheetsParentheticals">
        <!--Parent Role: Consolidated Balance Sheets-->
        <link:definition>010100 - Statement - Consolidated Balance Sheets (Parentheticals)</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://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome" id="ConsolidatedStatementsOfOperationsAndComprehensiveIncome">
        <link:definition>020000 - Statement - Consolidated Statements of Operations and Comprehensive Income</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://tandyleather.com/role/ConsolidatedStatementsOfCashFlows" id="ConsolidatedStatementsOfCashFlows">
        <link:definition>030000 - 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://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity" id="CondensedConsolidatedStatementsOfStockholdersEquity">
        <link:definition>040000 - Statement - Condensed 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://tandyleather.com/role/DescriptionOfBusiness" id="DescriptionOfBusiness">
        <link:definition>060100 - Disclosure - DESCRIPTION OF BUSINESS</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://tandyleather.com/role/SignificantAccountingPolicies" id="SignificantAccountingPolicies">
        <link:definition>060200 - Disclosure - SIGNIFICANT ACCOUNTING 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://tandyleather.com/role/BalanceSheetComponents" id="BalanceSheetComponents">
        <link:definition>060300 - Disclosure - BALANCE SHEET COMPONENTS</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://tandyleather.com/role/Leases" id="Leases">
        <link:definition>060400 - Disclosure - 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://tandyleather.com/role/NotesPayableAndLongtermDebt" id="NotesPayableAndLongtermDebt">
        <link:definition>060500 - Disclosure - NOTES PAYABLE AND LONG-TERM DEBT</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://tandyleather.com/role/EmployeeBenefitAndSavingsPlans" id="EmployeeBenefitAndSavingsPlans">
        <link:definition>060600 - Disclosure - EMPLOYEE BENEFIT AND SAVINGS PLANS</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://tandyleather.com/role/IncomeTaxes" id="IncomeTaxes">
        <link:definition>060700 - 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://tandyleather.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
        <link:definition>060800 - 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://tandyleather.com/role/SignificantBusinessConcentrationsAndRisk" id="SignificantBusinessConcentrationsAndRisk">
        <link:definition>060900 - Disclosure - SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK</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://tandyleather.com/role/StockholdersEquity" id="StockholdersEquity">
        <link:definition>061000 - Disclosure - 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://tandyleather.com/role/InsiderTradingArrangements" id="InsiderTradingArrangements">
        <link:definition>061100 - Disclosure - Insider Trading Arrangements</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://tandyleather.com/role/SignificantAccountingPoliciesPolicies" id="SignificantAccountingPoliciesPolicies">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>070200 - Disclosure - SIGNIFICANT ACCOUNTING 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://tandyleather.com/role/SignificantAccountingPoliciesTables" id="SignificantAccountingPoliciesTables">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>080200 - Disclosure - SIGNIFICANT ACCOUNTING 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://tandyleather.com/role/BalanceSheetComponentsTables" id="BalanceSheetComponentsTables">
        <!--Parent Role: BALANCE SHEET COMPONENTS-->
        <link:definition>080300 - Disclosure - BALANCE SHEET COMPONENTS (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://tandyleather.com/role/LeasesTables" id="LeasesTables">
        <!--Parent Role: LEASES-->
        <link:definition>080400 - Disclosure - 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://tandyleather.com/role/IncomeTaxesTables" id="IncomeTaxesTables">
        <!--Parent Role: INCOME TAXES-->
        <link:definition>080700 - 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://tandyleather.com/role/StockholdersEquityTables" id="StockholdersEquityTables">
        <!--Parent Role: STOCKHOLDERS' EQUITY-->
        <link:definition>081000 - Disclosure - STOCKHOLDERS' EQUITY (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://tandyleather.com/role/DescriptionOfBusinessDetails" id="DescriptionOfBusinessDetails">
        <!--Parent Role: DESCRIPTION OF BUSINESS-->
        <link:definition>090100 - Disclosure - DESCRIPTION OF BUSINESS (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://tandyleather.com/role/SignificantAccountingPoliciesDeconsolidationOfForeignSubsidiariesDetails" id="SignificantAccountingPoliciesDeconsolidationOfForeignSubsidiariesDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090200 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Deconsolidation of Foreign Subsidiaries (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://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails" id="SignificantAccountingPoliciesErrorCorrectionDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090202 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Error Correction (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://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails" id="SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090204 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Accounts Receivable and Expected 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://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails" id="SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090206 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Foreign Currency Translation and Transactions (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://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails" id="SignificantAccountingPoliciesRevenueRecognitionDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090208 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Revenue Recognition (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://tandyleather.com/role/SignificantAccountingPoliciesDiscountsDetails" id="SignificantAccountingPoliciesDiscountsDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090210 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Discounts (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://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails" id="SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090212 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Property and Equipment, Net of Accumulated Depreciation (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://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails" id="SignificantAccountingPoliciesLeasesDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090214 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, 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://tandyleather.com/role/SignificantAccountingPoliciesImpairmentOfLonglivedAssetsDetails" id="SignificantAccountingPoliciesImpairmentOfLonglivedAssetsDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090216 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Impairment of 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://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails" id="SignificantAccountingPoliciesEarningsPerShareDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090218 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Earnings 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://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails" id="SignificantAccountingPoliciesOtherIntangibleAssetsDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090220 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Other 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://tandyleather.com/role/SignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails" id="SignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090222 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Fair Value of Financial 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://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails" id="SignificantAccountingPoliciesShippingAndHandlingCostsDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090224 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Shipping and Handling Costs (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://tandyleather.com/role/SignificantAccountingPoliciesAdvertisingDetails" id="SignificantAccountingPoliciesAdvertisingDetails">
        <!--Parent Role: SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090226 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Advertising (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://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails" id="BalanceSheetComponentsInventoryPropertyAndEquipmentDetails">
        <!--Parent Role: BALANCE SHEET COMPONENTS-->
        <link:definition>090300 - Disclosure - BALANCE SHEET COMPONENTS, Inventory, 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://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails" id="BalanceSheetComponentsShorttermLiabilitiesDetails">
        <!--Parent Role: BALANCE SHEET COMPONENTS-->
        <link:definition>090302 - Disclosure - BALANCE SHEET COMPONENTS, Short-term 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://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails" id="LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails">
        <!--Parent Role: LEASES-->
        <link:definition>090400 - Disclosure - LEASES, Lease Assets, Liabilities and Lease 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://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails" id="LeasesMaturityOfLeaseLiabilitiesDetails">
        <!--Parent Role: LEASES-->
        <link:definition>090402 - Disclosure - LEASES, Maturity of Lease 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://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01" id="LeasesMaturityOfLeaseLiabilitiesDetailsCalc01">
        <!--Parent Role: LEASES, Maturity of Lease Liabilities (Details)-->
        <link:definition>090404 - Disclosure - LEASES, Maturity of Lease Liabilities (Details) CALC 01</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://tandyleather.com/role/LeasesOperatingLeasesOtherInformationDetails" id="LeasesOperatingLeasesOtherInformationDetails">
        <!--Parent Role: LEASES-->
        <link:definition>090404 - Disclosure - LEASES, Operating Leases Other 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://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails" id="LeasesLeaseTermAndDiscountRateDetails">
        <!--Parent Role: LEASES-->
        <link:definition>090406 - Disclosure - LEASES, Lease Term and Discount Rate (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://tandyleather.com/role/NotesPayableAndLongtermDebtDetails" id="NotesPayableAndLongtermDebtDetails">
        <!--Parent Role: NOTES PAYABLE AND LONG-TERM DEBT-->
        <link:definition>090500 - Disclosure - NOTES PAYABLE AND LONG-TERM DEBT (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://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails" id="EmployeeBenefitAndSavingsPlansDetails">
        <!--Parent Role: EMPLOYEE BENEFIT AND SAVINGS PLANS-->
        <link:definition>090600 - Disclosure - EMPLOYEE BENEFIT AND SAVINGS PLANS (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://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails" id="IncomeTaxesProvisionForIncomeTaxesDetails">
        <!--Parent Role: INCOME TAXES-->
        <link:definition>090700 - Disclosure - INCOME TAXES, 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://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails" id="IncomeTaxesIncomeBeforeIncomeTaxesDetails">
        <!--Parent Role: INCOME TAXES-->
        <link:definition>090702 - Disclosure - INCOME TAXES, Income Before 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://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails" id="IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails">
        <!--Parent Role: INCOME TAXES-->
        <link:definition>090704 - Disclosure - INCOME TAXES, Income Tax Effects of Temporary Differences Impacting Deferred Income 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://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails" id="IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails">
        <!--Parent Role: INCOME TAXES-->
        <link:definition>090706 - Disclosure - INCOME TAXES, Reconciliation of Effective Tax Rate from Statutory Rate (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://tandyleather.com/role/IncomeTaxesReconciliationOfUncertainTaxPositionsDetails" id="IncomeTaxesReconciliationOfUncertainTaxPositionsDetails">
        <!--Parent Role: INCOME TAXES-->
        <link:definition>090708 - Disclosure - INCOME TAXES, Reconciliation of Uncertain Tax Positions (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://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails" id="SignificantBusinessConcentrationsAndRiskDetails">
        <!--Parent Role: SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK-->
        <link:definition>090900 - Disclosure - SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK (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://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails" id="StockholdersEquity2013And2023RestrictedStockPlansDetails">
        <!--Parent Role: STOCKHOLDERS' EQUITY-->
        <link:definition>091000 - Disclosure - STOCKHOLDERS' EQUITY, 2013 and 2023 Restricted Stock Plans (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://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails" id="StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails">
        <!--Parent Role: STOCKHOLDERS' EQUITY-->
        <link:definition>091002 - Disclosure - STOCKHOLDERS' EQUITY, Summary of Activity for Restricted Stock and RSU Awards (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://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails" id="StockholdersEquityNonvestedServicebasedAwardsDetails">
        <!--Parent Role: STOCKHOLDERS' EQUITY-->
        <link:definition>091004 - Disclosure - STOCKHOLDERS' EQUITY, Non-vested Service-based Awards (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://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails" id="StockholdersEquityShareRepurchaseProgramDetails">
        <!--Parent Role: STOCKHOLDERS' EQUITY-->
        <link:definition>091006 - Disclosure - STOCKHOLDERS' EQUITY, Share Repurchase Program (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/currency/2023" schemaLocation="https://xbrl.sec.gov/currency/2023/currency-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/exch/2023" schemaLocation="https://xbrl.sec.gov/exch/2023/exch-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/naics/2023" schemaLocation="https://xbrl.sec.gov/naics/2023/naics-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/sic/2023" schemaLocation="https://xbrl.sec.gov/sic/2023/sic-2023.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/stpr/2023" schemaLocation="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" />
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xs:import namespace="http://www.xbrl.org/2004/ref" schemaLocation="http://www.xbrl.org/2004/ref-2004-08-10.xsd" />
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xs:import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
  <xs:import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
  <xs:import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
  <xs:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" />
  <xs:element name="SalesAndPayrollTaxesPayable" id="tlfa_SalesAndPayrollTaxesPayable" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" id="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="AccruedVendorPayablesCurrent" id="tlfa_AccruedVendorPayablesCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="ExpectedMerchandiseReturns" id="tlfa_ExpectedMerchandiseReturns" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="JPMorganChaseBankNAMember" id="tlfa_JPMorganChaseBankNAMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" id="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" id="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" />
  <xs:element name="LeaseTermAndDiscountRateAbstract" id="tlfa_LeaseTermAndDiscountRateAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="WeightedAverageDiscountRateAbstract" id="tlfa_WeightedAverageDiscountRateAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="WeightedAverageRemainingLeaseTermAbstract" id="tlfa_WeightedAverageRemainingLeaseTermAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="FiftyPercentContributionMember" id="tlfa_FiftyPercentContributionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="OneHundredPercentContributionMember" id="tlfa_OneHundredPercentContributionMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="TwoMajorCustomersMember" id="tlfa_TwoMajorCustomersMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ConcentrationRiskAbstract" id="tlfa_ConcentrationRiskAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="NumberOfMajorSuppliers" id="tlfa_NumberOfMajorSuppliers" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="NumberOfMajorCustomers" id="tlfa_NumberOfMajorCustomers" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="TenMajorSuppliersMember" id="tlfa_TenMajorSuppliersMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="FiveMajorCustomersMember" id="tlfa_FiveMajorCustomersMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="OneMajorSupplierMember" id="tlfa_OneMajorSupplierMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="NumberOfSuppliers" id="tlfa_NumberOfSuppliers" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="AccountsReceivableAndExpectedCreditLossesAbstract" id="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="LeaseLiabilities" id="tlfa_LeaseLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="OperatingLeaseNonCurrentLiabilityAbstract" id="tlfa_OperatingLeaseNonCurrentLiabilityAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="OperatingLeaseCurrentLiabilityAbstract" id="tlfa_OperatingLeaseCurrentLiabilityAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="FinanceLeaseCostsAbstract" id="tlfa_FinanceLeaseCostsAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="LeaseAssets" id="tlfa_LeaseAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="ImpairmentExpenseMember" id="tlfa_ImpairmentExpenseMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="BusinessDescriptionAbstract" id="tlfa_BusinessDescriptionAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ForeignCurrencyTranslationAndTransactionsTable" id="tlfa_ForeignCurrencyTranslationAndTransactionsTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ForeignCurrencyTranslationAndTransactionsLineItems" id="tlfa_ForeignCurrencyTranslationAndTransactionsLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ContractWithCustomerLiabilityForGiftCardsIssued" id="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" />
  <xs:element name="GiftCardRedemptionPeriod" id="tlfa_GiftCardRedemptionPeriod" type="xbrli:durationItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="InventoryMerchandiseExpectedToBeReturned" id="tlfa_InventoryMerchandiseExpectedToBeReturned" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="OtherCountriesMember" id="tlfa_OtherCountriesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" id="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" />
  <xs:element name="EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" id="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" id="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DeferredTaxAssetsAccountsReceivable" id="tlfa_DeferredTaxAssetsAccountsReceivable" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="TwoThousandAndThirteenRestrictedStockPlanMember" id="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ServicedBasedRestrictedStockUnitsRSUsMember" id="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="TwoThousandAndTwentyThreeRestrictedStockPlanMember" id="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="PerformanceBasedRestrictedStockUnitsRSUsMember" id="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" id="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="RestrictedStockAndRestrictedStockUnitsMember" id="tlfa_RestrictedStockAndRestrictedStockUnitsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" id="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="RevenueRecognitionDiscountsPolicyTextBlock" id="tlfa_RevenueRecognitionDiscountsPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="ShippingAndHandlingCostsPolicyTextBlock" id="tlfa_ShippingAndHandlingCostsPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DeconsolidationOfForeignSubsidiariesPolicyTextBlock" id="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="ShareRepurchaseProgramMember" id="tlfa_ShareRepurchaseProgramMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="PercentageOfCommonStockOutstanding" id="tlfa_PercentageOfCommonStockOutstanding" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" />
  <xs:element name="FairValueOfFinancialInstrumentsAbstract" id="tlfa_FairValueOfFinancialInstrumentsAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="LesseeOperatingLeaseAssetsAndLiabilities" id="tlfa_LesseeOperatingLeaseAssetsAndLiabilities" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" id="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="LesseeOperatingLeasesOtherInformationTableTextBlock" id="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" id="tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ShippingAndHandlingCostsAbstract" id="tlfa_ShippingAndHandlingCostsAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="DiscountsAbstract" id="tlfa_DiscountsAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="NumberOfClassesOfCustomerDiscounts" id="tlfa_NumberOfClassesOfCustomerDiscounts" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DeconsolidationOfForeignSubsidiariesAbstract" id="tlfa_DeconsolidationOfForeignSubsidiariesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>tlfa-20231231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquityNonvestedServicebasedAwardsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesProvisionForIncomeTaxesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesMaturityOfLeaseLiabilitiesDetailsCalc01" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesMaturityOfLeaseLiabilitiesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#BalanceSheetComponentsShorttermLiabilitiesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#BalanceSheetComponentsInventoryPropertyAndEquipmentDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tlfa-20231231.xsd#ConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:type="simple" xlink:href="tlfa-20231231.xsd#ConsolidatedStatementsOfOperationsAndComprehensiveIncome" />
  <link:roleRef roleURI="http://tandyleather.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tlfa-20231231.xsd#ConsolidatedBalanceSheets" />
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ConsolidatedBalanceSheets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="FinanceLeaseRightOfUseAsset" xlink:title="FinanceLeaseRightOfUseAsset" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="FinanceLeaseRightOfUseAsset" xlink:title="calculation: Assets to FinanceLeaseRightOfUseAsset" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="calculation: PropertyPlantAndEquipmentNet to AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="2.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="PropertyPlantAndEquipmentGross" xlink:title="calculation: PropertyPlantAndEquipmentNet to PropertyPlantAndEquipmentGross" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="calculation: Assets to PropertyPlantAndEquipmentNet" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="PrepaidExpenseCurrent" xlink:title="PrepaidExpenseCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="PrepaidExpenseCurrent" xlink:title="calculation: AssetsCurrent to PrepaidExpenseCurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="CashAndCashEquivalentsAtCarryingValue" xlink:title="calculation: AssetsCurrent to CashAndCashEquivalentsAtCarryingValue" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="IncomeTaxesReceivable" xlink:title="IncomeTaxesReceivable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="IncomeTaxesReceivable" xlink:title="calculation: AssetsCurrent to IncomeTaxesReceivable" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="AccountsReceivableNetCurrent" xlink:title="calculation: AssetsCurrent to AccountsReceivableNetCurrent" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="InventoryNet" xlink:title="calculation: AssetsCurrent to InventoryNet" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="OtherAssetsCurrent" xlink:title="calculation: AssetsCurrent to OtherAssetsCurrent" order="2.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="AssetsCurrent" xlink:title="calculation: Assets to AssetsCurrent" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="calculation: Assets to OperatingLeaseRightOfUseAsset" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="OtherAssetsNoncurrent" xlink:title="calculation: Assets to OtherAssetsNoncurrent" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="DeferredIncomeTaxAssetsNet" xlink:title="calculation: Assets to DeferredIncomeTaxAssetsNet" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="AccruedLiabilitiesAndOtherLiabilities" xlink:title="AccruedLiabilitiesAndOtherLiabilities" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="AccruedLiabilitiesAndOtherLiabilities" xlink:title="calculation: LiabilitiesCurrent to AccruedLiabilitiesAndOtherLiabilities" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="AccountsPayableTradeCurrent" xlink:title="AccountsPayableTradeCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="AccountsPayableTradeCurrent" xlink:title="calculation: LiabilitiesCurrent to AccountsPayableTradeCurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="FinanceLeaseLiabilityCurrent" xlink:title="FinanceLeaseLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="FinanceLeaseLiabilityCurrent" xlink:title="calculation: LiabilitiesCurrent to FinanceLeaseLiabilityCurrent" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="calculation: LiabilitiesCurrent to OperatingLeaseLiabilityCurrent" order="9.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="TaxesPayableCurrent" xlink:title="TaxesPayableCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="TaxesPayableCurrent" xlink:title="calculation: LiabilitiesCurrent to TaxesPayableCurrent" order="6.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="LiabilitiesCurrent" xlink:title="calculation: LiabilitiesAndStockholdersEquity to LiabilitiesCurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="calculation: StockholdersEquity to AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="TreasuryStockCommonValue" xlink:title="TreasuryStockCommonValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="TreasuryStockCommonValue" xlink:title="calculation: StockholdersEquity to TreasuryStockCommonValue" order="4.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="CommonStockValue" xlink:title="calculation: StockholdersEquity to CommonStockValue" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="AdditionalPaidInCapital" xlink:title="AdditionalPaidInCapital" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="AdditionalPaidInCapital" xlink:title="calculation: StockholdersEquity to AdditionalPaidInCapital" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="RetainedEarningsAccumulatedDeficit" xlink:title="calculation: StockholdersEquity to RetainedEarningsAccumulatedDeficit" order="3.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="StockholdersEquity" xlink:title="calculation: LiabilitiesAndStockholdersEquity to StockholdersEquity" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="CommitmentsAndContingencies" xlink:title="calculation: LiabilitiesAndStockholdersEquity to CommitmentsAndContingencies" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="FinanceLeaseLiabilityNoncurrent" xlink:title="FinanceLeaseLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="FinanceLeaseLiabilityNoncurrent" xlink:title="calculation: LiabilitiesAndStockholdersEquity to FinanceLeaseLiabilityNoncurrent" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="DeferredIncomeTaxLiabilitiesNet" xlink:title="DeferredIncomeTaxLiabilitiesNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="DeferredIncomeTaxLiabilitiesNet" xlink:title="calculation: LiabilitiesAndStockholdersEquity to DeferredIncomeTaxLiabilitiesNet" order="11.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="calculation: LiabilitiesAndStockholdersEquity to OperatingLeaseLiabilityNoncurrent" order="9.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="OtherLiabilitiesNoncurrent" xlink:title="calculation: LiabilitiesAndStockholdersEquity to OtherLiabilitiesNoncurrent" order="10.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="LiabilityForUncertainTaxPositionsNoncurrent" xlink:title="LiabilityForUncertainTaxPositionsNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="LiabilityForUncertainTaxPositionsNoncurrent" xlink:title="calculation: LiabilitiesAndStockholdersEquity to LiabilityForUncertainTaxPositionsNoncurrent" order="2.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:title="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="calculation: ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLoss" xlink:to="IncomeTaxExpenseBenefit" xlink:title="calculation: NetIncomeLoss to IncomeTaxExpenseBenefit" order="2.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="OtherNonoperatingIncomeExpense" xlink:title="calculation: NonoperatingIncomeExpense to OtherNonoperatingIncomeExpense" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="InterestIncomeExpenseNet" xlink:title="InterestIncomeExpenseNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="InterestIncomeExpenseNet" xlink:title="calculation: NonoperatingIncomeExpense to InterestIncomeExpenseNet" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="NonoperatingIncomeExpense" xlink:title="calculation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to NonoperatingIncomeExpense" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="GrossProfit" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="calculation: GrossProfit to RevenueFromContractWithCustomerExcludingAssessedTax" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="CostOfGoodsAndServicesSold" xlink:title="CostOfGoodsAndServicesSold" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="GrossProfit" xlink:to="CostOfGoodsAndServicesSold" xlink:title="calculation: GrossProfit to CostOfGoodsAndServicesSold" order="2.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingIncomeLoss" xlink:to="GrossProfit" xlink:title="calculation: OperatingIncomeLoss to GrossProfit" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingCostsAndExpenses" xlink:label="OperatingCostsAndExpenses" xlink:title="OperatingCostsAndExpenses" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingIncomeLoss" xlink:to="OperatingCostsAndExpenses" xlink:title="calculation: OperatingIncomeLoss to OperatingCostsAndExpenses" order="2.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="OperatingIncomeLoss" xlink:title="calculation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to OperatingIncomeLoss" order="2.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLoss" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="calculation: NetIncomeLoss to IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="NetIncomeLoss" xlink:title="calculation: ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest to NetIncomeLoss" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="NetIncomeLoss" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to NetIncomeLoss" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:label="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:title="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="IncreaseDecreaseInAccountsReceivable" xlink:title="IncreaseDecreaseInAccountsReceivable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccountsReceivable" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccountsReceivable" order="9.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInInventories" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInInventories" order="10.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="IncreaseDecreaseInOperatingLeaseLiability" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInOperatingLeaseLiability" order="16.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:label="CostOfGoodsAndServicesSoldDepreciation" xlink:title="CostOfGoodsAndServicesSoldDepreciation" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="CostOfGoodsAndServicesSoldDepreciation" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to CostOfGoodsAndServicesSoldDepreciation" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="ShareBasedCompensation" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to ShareBasedCompensation" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccountsPayable" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccountsPayable" order="13.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="GainLossOnDispositionOfAssets1" xlink:title="GainLossOnDispositionOfAssets1" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="GainLossOnDispositionOfAssets1" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to GainLossOnDispositionOfAssets1" order="3.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="IncreaseDecreaseInDeferredIncomeTaxes" xlink:title="IncreaseDecreaseInDeferredIncomeTaxes" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInDeferredIncomeTaxes" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInDeferredIncomeTaxes" order="15.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="DeferredIncomeTaxesAndTaxCredits" xlink:title="DeferredIncomeTaxesAndTaxCredits" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="DeferredIncomeTaxesAndTaxCredits" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to DeferredIncomeTaxesAndTaxCredits" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="IncreaseDecreaseInPrepaidExpense" xlink:title="IncreaseDecreaseInPrepaidExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInPrepaidExpense" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInPrepaidExpense" order="11.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="IncreaseDecreaseInAccruedLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilities" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccruedLiabilities" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccruedLiabilities" order="14.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="IncreaseDecreaseInOtherNoncurrentAssets" xlink:title="IncreaseDecreaseInOtherNoncurrentAssets" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInOtherNoncurrentAssets" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInOtherNoncurrentAssets" order="12.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:title="OperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to OperatingLeaseRightOfUseAssetAmortizationExpense" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="IncreaseDecreaseInOtherCurrentAssets" xlink:title="IncreaseDecreaseInOtherCurrentAssets" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInOtherCurrentAssets" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInOtherCurrentAssets" order="17.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInOperatingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInOperatingActivities" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:label="ProceedsFromSaleOfProductiveAssets" xlink:title="ProceedsFromSaleOfProductiveAssets" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="ProceedsFromSaleOfProductiveAssets" xlink:title="calculation: NetCashProvidedByUsedInInvestingActivities to ProceedsFromSaleOfProductiveAssets" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="calculation: NetCashProvidedByUsedInInvestingActivities to PaymentsToAcquirePropertyPlantAndEquipment" order="1.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInInvestingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInInvestingActivities" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="PaymentsForRepurchaseOfCommonStock" xlink:title="PaymentsForRepurchaseOfCommonStock" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="PaymentsForRepurchaseOfCommonStock" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to PaymentsForRepurchaseOfCommonStock" order="6.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="RepaymentsOfLongTermDebt" xlink:title="RepaymentsOfLongTermDebt" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="RepaymentsOfLongTermDebt" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to RepaymentsOfLongTermDebt" order="3.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="FinanceLeasePrincipalPayments" xlink:title="FinanceLeasePrincipalPayments" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="FinanceLeasePrincipalPayments" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to FinanceLeasePrincipalPayments" order="5.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInFinancingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInFinancingActivities" order="3.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="InventoryFinishedGoods" xlink:title="InventoryFinishedGoods" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="InventoryFinishedGoods" xlink:title="calculation: InventoryNet to InventoryFinishedGoods" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherInventoryInTransit" xlink:label="OtherInventoryInTransit" xlink:title="OtherInventoryInTransit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="OtherInventoryInTransit" xlink:title="calculation: InventoryNet to OtherInventoryInTransit" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:label="InventoryWorkInProcessAndRawMaterials" xlink:title="InventoryWorkInProcessAndRawMaterials" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="InventoryWorkInProcessAndRawMaterials" xlink:title="calculation: InventoryNet to InventoryWorkInProcessAndRawMaterials" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="AccruedLiabilitiesAndOtherLiabilities" xlink:title="AccruedLiabilitiesAndOtherLiabilities" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_SalesAndPayrollTaxesPayable" xlink:label="SalesAndPayrollTaxesPayable" xlink:title="SalesAndPayrollTaxesPayable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesAndOtherLiabilities" xlink:to="SalesAndPayrollTaxesPayable" xlink:title="calculation: AccruedLiabilitiesAndOtherLiabilities to SalesAndPayrollTaxesPayable" order="10.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ExpectedMerchandiseReturns" xlink:label="ExpectedMerchandiseReturns" xlink:title="ExpectedMerchandiseReturns" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesAndOtherLiabilities" xlink:to="ExpectedMerchandiseReturns" xlink:title="calculation: AccruedLiabilitiesAndOtherLiabilities to ExpectedMerchandiseReturns" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="EmployeeRelatedLiabilitiesCurrent" xlink:title="EmployeeRelatedLiabilitiesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesAndOtherLiabilities" xlink:to="EmployeeRelatedLiabilitiesCurrent" xlink:title="calculation: AccruedLiabilitiesAndOtherLiabilities to EmployeeRelatedLiabilitiesCurrent" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_AccruedVendorPayablesCurrent" xlink:label="AccruedVendorPayablesCurrent" xlink:title="AccruedVendorPayablesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesAndOtherLiabilities" xlink:to="AccruedVendorPayablesCurrent" xlink:title="calculation: AccruedLiabilitiesAndOtherLiabilities to AccruedVendorPayablesCurrent" order="9.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:label="ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:title="ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesAndOtherLiabilities" xlink:to="ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:title="calculation: AccruedLiabilitiesAndOtherLiabilities to ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" order="4.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails">
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LeaseLiabilities" xlink:label="LeaseLiabilities" xlink:title="LeaseLiabilities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LeaseLiabilities" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="calculation: LeaseLiabilities to OperatingLeaseLiabilityNoncurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="FinanceLeaseLiabilityNoncurrent" xlink:title="FinanceLeaseLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LeaseLiabilities" xlink:to="FinanceLeaseLiabilityNoncurrent" xlink:title="calculation: LeaseLiabilities to FinanceLeaseLiabilityNoncurrent" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LeaseLiabilities" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="calculation: LeaseLiabilities to OperatingLeaseLiabilityCurrent" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="FinanceLeaseLiabilityCurrent" xlink:title="FinanceLeaseLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LeaseLiabilities" xlink:to="FinanceLeaseLiabilityCurrent" xlink:title="calculation: LeaseLiabilities to FinanceLeaseLiabilityCurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LeaseAssets" xlink:label="LeaseAssets" xlink:title="LeaseAssets" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LeaseAssets" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="calculation: LeaseAssets to OperatingLeaseRightOfUseAsset" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="FinanceLeaseRightOfUseAsset" xlink:title="FinanceLeaseRightOfUseAsset" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LeaseAssets" xlink:to="FinanceLeaseRightOfUseAsset" xlink:title="calculation: LeaseAssets to FinanceLeaseRightOfUseAsset" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="FinanceLeaseLiabilityPaymentsDue" xlink:title="FinanceLeaseLiabilityPaymentsDue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FinanceLeaseLiabilityPaymentsDue" xlink:to="FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="calculation: FinanceLeaseLiabilityPaymentsDue to FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:title="FinanceLeaseLiabilityPaymentsDueYearTwo" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FinanceLeaseLiabilityPaymentsDue" xlink:to="FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:title="calculation: FinanceLeaseLiabilityPaymentsDue to FinanceLeaseLiabilityPaymentsDueYearTwo" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="FinanceLeaseLiabilityPaymentsDueAfterYearFive" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FinanceLeaseLiabilityPaymentsDue" xlink:to="FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="calculation: FinanceLeaseLiabilityPaymentsDue to FinanceLeaseLiabilityPaymentsDueAfterYearFive" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="FinanceLeaseLiabilityPaymentsDueYearFour" xlink:title="FinanceLeaseLiabilityPaymentsDueYearFour" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FinanceLeaseLiabilityPaymentsDue" xlink:to="FinanceLeaseLiabilityPaymentsDueYearFour" xlink:title="calculation: FinanceLeaseLiabilityPaymentsDue to FinanceLeaseLiabilityPaymentsDueYearFour" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="FinanceLeaseLiabilityPaymentsDueYearFive" xlink:title="FinanceLeaseLiabilityPaymentsDueYearFive" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FinanceLeaseLiabilityPaymentsDue" xlink:to="FinanceLeaseLiabilityPaymentsDueYearFive" xlink:title="calculation: FinanceLeaseLiabilityPaymentsDue to FinanceLeaseLiabilityPaymentsDueYearFive" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="FinanceLeaseLiabilityPaymentsDueYearThree" xlink:title="FinanceLeaseLiabilityPaymentsDueYearThree" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FinanceLeaseLiabilityPaymentsDue" xlink:to="FinanceLeaseLiabilityPaymentsDueYearThree" xlink:title="calculation: FinanceLeaseLiabilityPaymentsDue to FinanceLeaseLiabilityPaymentsDueYearThree" order="2.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="OperatingLeaseLiability" xlink:title="OperatingLeaseLiability" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="OperatingLeaseLiability" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to OperatingLeaseLiability" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="FinanceLeaseLiabilityPaymentsDue" xlink:title="FinanceLeaseLiabilityPaymentsDue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="FinanceLeaseLiability" xlink:title="FinanceLeaseLiability" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FinanceLeaseLiabilityPaymentsDue" xlink:to="FinanceLeaseLiability" xlink:title="calculation: FinanceLeaseLiabilityPaymentsDue to FinanceLeaseLiability" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:title="FinanceLeaseLiabilityUndiscountedExcessAmount" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FinanceLeaseLiabilityPaymentsDue" xlink:to="FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:title="calculation: FinanceLeaseLiabilityPaymentsDue to FinanceLeaseLiabilityUndiscountedExcessAmount" order="0.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="calculation: DeferredIncomeTaxExpenseBenefit to DeferredStateAndLocalIncomeTaxExpenseBenefit" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="DeferredFederalIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="calculation: DeferredIncomeTaxExpenseBenefit to DeferredFederalIncomeTaxExpenseBenefit" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="DeferredForeignIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="calculation: DeferredIncomeTaxExpenseBenefit to DeferredForeignIncomeTaxExpenseBenefit" order="0.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="DeferredIncomeTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to DeferredIncomeTaxExpenseBenefit" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="CurrentIncomeTaxExpenseBenefit" xlink:title="CurrentIncomeTaxExpenseBenefit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="CurrentForeignTaxExpenseBenefit" xlink:title="CurrentForeignTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="CurrentForeignTaxExpenseBenefit" xlink:title="calculation: CurrentIncomeTaxExpenseBenefit to CurrentForeignTaxExpenseBenefit" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="CurrentStateAndLocalTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="calculation: CurrentIncomeTaxExpenseBenefit to CurrentStateAndLocalTaxExpenseBenefit" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:label="UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:title="UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:title="calculation: CurrentIncomeTaxExpenseBenefit to UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="CurrentFederalTaxExpenseBenefit" xlink:title="CurrentFederalTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="CurrentFederalTaxExpenseBenefit" xlink:title="calculation: CurrentIncomeTaxExpenseBenefit to CurrentFederalTaxExpenseBenefit" order="0.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="CurrentIncomeTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to CurrentIncomeTaxExpenseBenefit" order="0.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="DeferredTaxAssetsLiabilitiesNet" xlink:title="DeferredTaxAssetsLiabilitiesNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="DeferredTaxAssetsNet" xlink:title="DeferredTaxAssetsNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="DeferredTaxAssetsGross" xlink:title="DeferredTaxAssetsGross" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" order="9.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="DeferredTaxAssetsInventory" xlink:title="DeferredTaxAssetsInventory" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsInventory" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsInventory" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_DeferredTaxAssetsAccountsReceivable" xlink:label="DeferredTaxAssetsAccountsReceivable" xlink:title="DeferredTaxAssetsAccountsReceivable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsAccountsReceivable" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsAccountsReceivable" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:title="DeferredTaxAssetsUnrealizedCurrencyLosses" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsUnrealizedCurrencyLosses" order="10.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="DeferredTaxAssetsOperatingLossCarryforwards" xlink:title="DeferredTaxAssetsOperatingLossCarryforwards" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsOperatingLossCarryforwards" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsOperatingLossCarryforwards" order="12.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsNet" xlink:to="DeferredTaxAssetsGross" xlink:title="calculation: DeferredTaxAssetsNet to DeferredTaxAssetsGross" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="DeferredTaxAssetsValuationAllowance" xlink:title="DeferredTaxAssetsValuationAllowance" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsNet" xlink:to="DeferredTaxAssetsValuationAllowance" xlink:title="calculation: DeferredTaxAssetsNet to DeferredTaxAssetsValuationAllowance" order="1.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsLiabilitiesNet" xlink:to="DeferredTaxAssetsNet" xlink:title="calculation: DeferredTaxAssetsLiabilitiesNet to DeferredTaxAssetsNet" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="DeferredIncomeTaxLiabilities" xlink:title="DeferredIncomeTaxLiabilities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredIncomeTaxLiabilities" xlink:to="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="calculation: DeferredIncomeTaxLiabilities to DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="2.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsLiabilitiesNet" xlink:to="DeferredIncomeTaxLiabilities" xlink:title="calculation: DeferredTaxAssetsLiabilitiesNet to DeferredIncomeTaxLiabilities" order="0.0" weight="-1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:label="EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:title="EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:label="EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:title="EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="10.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:title="EffectiveIncomeTaxRateReconciliationTaxCredits" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationTaxCredits" order="7.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="11.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="calculation: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="calculation: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="calculation: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="calculation: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" order="0.0" weight="1.0" />
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>tlfa-20231231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:t1="http://xbrl.org/2005/xbrldt">
  <link:roleRef roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd#eedm" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquityShareRepurchaseProgramDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquityNonvestedServicebasedAwardsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquity2013And2023RestrictedStockPlansDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantBusinessConcentrationsAndRiskDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesReconciliationOfUncertainTaxPositionsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesReconciliationOfUncertainTaxPositionsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesIncomeBeforeIncomeTaxesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesProvisionForIncomeTaxesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#EmployeeBenefitAndSavingsPlansDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#NotesPayableAndLongtermDebtDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesLeaseTermAndDiscountRateDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesOperatingLeasesOtherInformationDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesOperatingLeasesOtherInformationDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesMaturityOfLeaseLiabilitiesDetailsCalc01" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesMaturityOfLeaseLiabilitiesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#BalanceSheetComponentsShorttermLiabilitiesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#BalanceSheetComponentsInventoryPropertyAndEquipmentDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesAdvertisingDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesAdvertisingDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesShippingAndHandlingCostsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesOtherIntangibleAssetsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesEarningsPerShareDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesImpairmentOfLonglivedAssetsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesImpairmentOfLonglivedAssetsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesLeasesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesDiscountsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesDiscountsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesRevenueRecognitionDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesErrorCorrectionDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesDeconsolidationOfForeignSubsidiariesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesDeconsolidationOfForeignSubsidiariesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/DescriptionOfBusinessDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#DescriptionOfBusinessDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockholdersEquityTables" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquityTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesTables" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/BalanceSheetComponentsTables" xlink:type="simple" xlink:href="tlfa-20231231.xsd#BalanceSheetComponentsTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesPolicies" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockholdersEquity" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquity" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantBusinessConcentrationsAndRisk" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantBusinessConcentrationsAndRisk" />
  <link:roleRef roleURI="http://tandyleather.com/role/CommitmentsAndContingencies" xlink:type="simple" xlink:href="tlfa-20231231.xsd#CommitmentsAndContingencies" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxes" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxes" />
  <link:roleRef roleURI="http://tandyleather.com/role/EmployeeBenefitAndSavingsPlans" xlink:type="simple" xlink:href="tlfa-20231231.xsd#EmployeeBenefitAndSavingsPlans" />
  <link:roleRef roleURI="http://tandyleather.com/role/NotesPayableAndLongtermDebt" xlink:type="simple" xlink:href="tlfa-20231231.xsd#NotesPayableAndLongtermDebt" />
  <link:roleRef roleURI="http://tandyleather.com/role/Leases" xlink:type="simple" xlink:href="tlfa-20231231.xsd#Leases" />
  <link:roleRef roleURI="http://tandyleather.com/role/BalanceSheetComponents" xlink:type="simple" xlink:href="tlfa-20231231.xsd#BalanceSheetComponents" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPolicies" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPolicies" />
  <link:roleRef roleURI="http://tandyleather.com/role/DescriptionOfBusiness" xlink:type="simple" xlink:href="tlfa-20231231.xsd#DescriptionOfBusiness" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" xlink:href="tlfa-20231231.xsd#CondensedConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef roleURI="http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tlfa-20231231.xsd#ConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:type="simple" xlink:href="tlfa-20231231.xsd#ConsolidatedStatementsOfOperationsAndComprehensiveIncome" />
  <link:roleRef roleURI="http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals" xlink:type="simple" xlink:href="tlfa-20231231.xsd#ConsolidatedBalanceSheetsParentheticals" />
  <link:roleRef roleURI="http://tandyleather.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tlfa-20231231.xsd#ConsolidatedBalanceSheets" />
  <link:roleRef roleURI="http://tandyleather.com/role/DocumentAndEntityInformation" xlink:type="simple" xlink:href="tlfa-20231231.xsd#DocumentAndEntityInformation" />
  <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:type="extended" xlink:role="http://tandyleather.com/role/DocumentAndEntityInformation" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ConsolidatedBalanceSheets" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="definition: StatementLineItems to IncreaseDecreaseInStockholdersEquityRollForward" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockholdersEquity" xlink:title="definition: StatementLineItems to StockholdersEquity" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="SharesOutstanding" xlink:title="SharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="SharesOutstanding" xlink:title="definition: StatementLineItems to SharesOutstanding" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="definition: StatementLineItems to AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodValueRestrictedStockAwardGross" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="definition: StatementLineItems to AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="definition: StatementLineItems to SharesPaidForTaxWithholdingForShareBasedCompensation" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:label="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="StockRepurchasedAndRetiredDuringPeriodValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="definition: StatementLineItems to StockRepurchasedAndRetiredDuringPeriodValue" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:label="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="StockRepurchasedAndRetiredDuringPeriodShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="definition: StatementLineItems to StockRepurchasedAndRetiredDuringPeriodShares" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="NetIncomeLoss" xlink:title="definition: StatementLineItems to NetIncomeLoss" order="11.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="definition: StatementLineItems to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="12.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="StatementLineItems" xlink:to="StatementTable" xlink:title="definition: StatementLineItems to StatementTable" order="13.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="StatementTable" xlink:to="StatementEquityComponentsAxis" xlink:title="definition: StatementTable to StatementEquityComponentsAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain" xlink:title="definition: StatementEquityComponentsAxis to EquityComponentDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain_2" xlink:title="EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain_2" xlink:title="definition: StatementEquityComponentsAxis to EquityComponentDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="CommonStockMember" xlink:title="CommonStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="CommonStockMember" xlink:title="definition: EquityComponentDomain to CommonStockMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="AdditionalPaidInCapitalMember" xlink:title="definition: EquityComponentDomain to AdditionalPaidInCapitalMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="TreasuryStockCommonMember" xlink:title="TreasuryStockCommonMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="TreasuryStockCommonMember" xlink:title="definition: EquityComponentDomain to TreasuryStockCommonMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="RetainedEarningsMember" xlink:title="definition: EquityComponentDomain to RetainedEarningsMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="AccumulatedOtherComprehensiveIncomeMember" xlink:title="definition: EquityComponentDomain to AccumulatedOtherComprehensiveIncomeMember" order="5.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/DescriptionOfBusiness" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPolicies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BalanceSheetComponents" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/Leases" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/NotesPayableAndLongtermDebt" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/EmployeeBenefitAndSavingsPlans" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxes" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CommitmentsAndContingencies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantBusinessConcentrationsAndRisk" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquity" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesPolicies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BalanceSheetComponentsTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquityTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/DescriptionOfBusinessDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="SegmentReportingInformationLineItems" xlink:title="SegmentReportingInformationLineItems" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_BusinessDescriptionAbstract" xlink:label="BusinessDescriptionAbstract" xlink:title="BusinessDescriptionAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentReportingInformationLineItems" xlink:to="BusinessDescriptionAbstract" xlink:title="definition: SegmentReportingInformationLineItems to BusinessDescriptionAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfStores" xlink:label="NumberOfStores" xlink:title="NumberOfStores" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentReportingInformationLineItems" xlink:to="NumberOfStores" xlink:title="definition: SegmentReportingInformationLineItems to NumberOfStores" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="NumberOfOperatingSegments" xlink:title="NumberOfOperatingSegments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentReportingInformationLineItems" xlink:to="NumberOfOperatingSegments" xlink:title="definition: SegmentReportingInformationLineItems to NumberOfOperatingSegments" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="NumberOfReportableSegments" xlink:title="NumberOfReportableSegments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentReportingInformationLineItems" xlink:to="NumberOfReportableSegments" xlink:title="definition: SegmentReportingInformationLineItems to NumberOfReportableSegments" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:title="ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="SegmentReportingInformationLineItems" xlink:to="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:title="definition: SegmentReportingInformationLineItems to ScheduleOfSegmentReportingInformationBySegmentTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="StatementGeographicalAxis" xlink:title="definition: ScheduleOfSegmentReportingInformationBySegmentTable to StatementGeographicalAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain_2" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain_2" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="definition: SegmentGeographicalDomain to US" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="definition: SegmentGeographicalDomain to CA" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_ES" xlink:label="ES" xlink:title="ES" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="ES" xlink:title="definition: SegmentGeographicalDomain to ES" order="3.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesDeconsolidationOfForeignSubsidiariesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:label="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:title="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PriorPeriodAdjustmentAbstract" xlink:label="PriorPeriodAdjustmentAbstract" xlink:title="PriorPeriodAdjustmentAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="PriorPeriodAdjustmentAbstract" xlink:title="definition: ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems to PriorPeriodAdjustmentAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="InventoryNet" xlink:title="definition: ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems to InventoryNet" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="AccountsPayableTradeCurrent" xlink:title="AccountsPayableTradeCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="AccountsPayableTradeCurrent" xlink:title="definition: ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems to AccountsPayableTradeCurrent" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:label="ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:title="ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:title="definition: ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems to ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementAxis" xlink:label="RestatementAxis" xlink:title="RestatementAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="RestatementAxis" xlink:title="definition: ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable to RestatementAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementDomain" xlink:label="RestatementDomain" xlink:title="RestatementDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RestatementAxis" xlink:to="RestatementDomain" xlink:title="definition: RestatementAxis to RestatementDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementDomain" xlink:label="RestatementDomain_2" xlink:title="RestatementDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RestatementAxis" xlink:to="RestatementDomain_2" xlink:title="definition: RestatementAxis to RestatementDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" xlink:label="RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" xlink:title="RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RestatementDomain" xlink:to="RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" xlink:title="definition: RestatementDomain to RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="AccountsNotesAndLoansReceivableLineItems" xlink:title="AccountsNotesAndLoansReceivableLineItems" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" xlink:label="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:title="AccountsReceivableAndExpectedCreditLossesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AccountsNotesAndLoansReceivableLineItems" xlink:to="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:title="definition: AccountsNotesAndLoansReceivableLineItems to AccountsReceivableAndExpectedCreditLossesAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AccountsNotesAndLoansReceivableLineItems" xlink:to="AccountsReceivableNetCurrent" xlink:title="definition: AccountsNotesAndLoansReceivableLineItems to AccountsReceivableNetCurrent" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="AllowanceForDoubtfulAccountsReceivable" xlink:title="AllowanceForDoubtfulAccountsReceivable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AccountsNotesAndLoansReceivableLineItems" xlink:to="AllowanceForDoubtfulAccountsReceivable" xlink:title="definition: AccountsNotesAndLoansReceivableLineItems to AllowanceForDoubtfulAccountsReceivable" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:title="ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="AccountsNotesAndLoansReceivableLineItems" xlink:to="ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:title="definition: AccountsNotesAndLoansReceivableLineItems to ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="RangeAxis" xlink:title="definition: ScheduleOfAccountsNotesLoansAndFinancingReceivableTable to RangeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails">
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ForeignCurrencyTranslationAndTransactionsLineItems" xlink:label="ForeignCurrencyTranslationAndTransactionsLineItems" xlink:title="ForeignCurrencyTranslationAndTransactionsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:label="ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:title="ForeignCurrencyTransactionGainLossBeforeTaxAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ForeignCurrencyTranslationAndTransactionsLineItems" xlink:to="ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:title="definition: ForeignCurrencyTranslationAndTransactionsLineItems to ForeignCurrencyTransactionGainLossBeforeTaxAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ForeignCurrencyTranslationAndTransactionsLineItems" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:title="definition: ForeignCurrencyTranslationAndTransactionsLineItems to OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeconsolidationGainOrLossAmount" xlink:label="DeconsolidationGainOrLossAmount" xlink:title="DeconsolidationGainOrLossAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ForeignCurrencyTranslationAndTransactionsLineItems" xlink:to="DeconsolidationGainOrLossAmount" xlink:title="definition: ForeignCurrencyTranslationAndTransactionsLineItems to DeconsolidationGainOrLossAmount" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ForeignCurrencyTranslationAndTransactionsTable" xlink:label="ForeignCurrencyTranslationAndTransactionsTable" xlink:title="ForeignCurrencyTranslationAndTransactionsTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ForeignCurrencyTranslationAndTransactionsLineItems" xlink:to="ForeignCurrencyTranslationAndTransactionsTable" xlink:title="definition: ForeignCurrencyTranslationAndTransactionsLineItems to ForeignCurrencyTranslationAndTransactionsTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ForeignCurrencyTranslationAndTransactionsTable" xlink:to="RangeAxis" xlink:title="definition: ForeignCurrencyTranslationAndTransactionsTable to RangeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="RevenueFromContractWithCustomerAbstract" xlink:title="RevenueFromContractWithCustomerAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="RevenueFromContractWithCustomerAbstract" xlink:title="definition: DisaggregationOfRevenueLineItems to RevenueFromContractWithCustomerAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueAbstract" xlink:title="definition: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueAbstract" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="definition: DisaggregationOfRevenueLineItems to RevenueFromContractWithCustomerExcludingAssessedTax" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="DeferredRevenue" xlink:title="DeferredRevenue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DeferredRevenue" xlink:title="definition: DisaggregationOfRevenueLineItems to DeferredRevenue" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:label="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:title="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:title="definition: DisaggregationOfRevenueLineItems to ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_InventoryMerchandiseExpectedToBeReturned" xlink:label="InventoryMerchandiseExpectedToBeReturned" xlink:title="InventoryMerchandiseExpectedToBeReturned" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="InventoryMerchandiseExpectedToBeReturned" xlink:title="definition: DisaggregationOfRevenueLineItems to InventoryMerchandiseExpectedToBeReturned" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_GiftCardRedemptionPeriod" xlink:label="GiftCardRedemptionPeriod" xlink:title="GiftCardRedemptionPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="GiftCardRedemptionPeriod" xlink:title="definition: DisaggregationOfRevenueLineItems to GiftCardRedemptionPeriod" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="ContractWithCustomerLiability" xlink:title="ContractWithCustomerLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="ContractWithCustomerLiability" xlink:title="definition: DisaggregationOfRevenueLineItems to ContractWithCustomerLiability" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ContractWithCustomerLiabilityForGiftCardsIssued" xlink:label="ContractWithCustomerLiabilityForGiftCardsIssued" xlink:title="ContractWithCustomerLiabilityForGiftCardsIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="ContractWithCustomerLiabilityForGiftCardsIssued" xlink:title="definition: DisaggregationOfRevenueLineItems to ContractWithCustomerLiabilityForGiftCardsIssued" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="ContractWithCustomerLiabilityRevenueRecognized" xlink:title="ContractWithCustomerLiabilityRevenueRecognized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="ContractWithCustomerLiabilityRevenueRecognized" xlink:title="definition: DisaggregationOfRevenueLineItems to ContractWithCustomerLiabilityRevenueRecognized" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueTable" xlink:title="definition: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueTable" order="11.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="RangeAxis" xlink:title="definition: DisaggregationOfRevenueTable to RangeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="StatementGeographicalAxis" xlink:title="definition: DisaggregationOfRevenueTable to StatementGeographicalAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain_2" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain_2" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="definition: SegmentGeographicalDomain to US" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="definition: SegmentGeographicalDomain to CA" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OtherCountriesMember" xlink:label="OtherCountriesMember" xlink:title="OtherCountriesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="OtherCountriesMember" xlink:title="definition: SegmentGeographicalDomain to OtherCountriesMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="BalanceSheetLocationAxis" xlink:title="BalanceSheetLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="BalanceSheetLocationAxis" xlink:title="definition: DisaggregationOfRevenueTable to BalanceSheetLocationAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="BalanceSheetLocationDomain" xlink:title="BalanceSheetLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="BalanceSheetLocationAxis" xlink:to="BalanceSheetLocationDomain" xlink:title="definition: BalanceSheetLocationAxis to BalanceSheetLocationDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="BalanceSheetLocationDomain_2" xlink:title="BalanceSheetLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="BalanceSheetLocationAxis" xlink:to="BalanceSheetLocationDomain_2" xlink:title="definition: BalanceSheetLocationAxis to BalanceSheetLocationDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesMember" xlink:label="OtherLiabilitiesMember" xlink:title="OtherLiabilitiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="BalanceSheetLocationDomain" xlink:to="OtherLiabilitiesMember" xlink:title="definition: BalanceSheetLocationDomain to OtherLiabilitiesMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="AccountsPayableAndAccruedLiabilitiesMember" xlink:title="AccountsPayableAndAccruedLiabilitiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="BalanceSheetLocationDomain" xlink:to="AccountsPayableAndAccruedLiabilitiesMember" xlink:title="definition: BalanceSheetLocationDomain to AccountsPayableAndAccruedLiabilitiesMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesDiscountsDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNetAbstract" xlink:label="PropertyPlantAndEquipmentNetAbstract" xlink:title="PropertyPlantAndEquipmentNetAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNetAbstract" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNetAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="PropertyPlantAndEquipmentUsefulLife" xlink:title="PropertyPlantAndEquipmentUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentUsefulLife" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentUsefulLife" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="definition: PropertyPlantAndEquipmentLineItems to ScheduleOfPropertyPlantAndEquipmentTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="definition: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="FurnitureAndFixturesMember" xlink:title="FurnitureAndFixturesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndFixturesMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to FurnitureAndFixturesMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VehiclesMember" xlink:label="VehiclesMember" xlink:title="VehiclesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="VehiclesMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to VehiclesMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="BuildingAndBuildingImprovementsMember" xlink:title="BuildingAndBuildingImprovementsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="BuildingAndBuildingImprovementsMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to BuildingAndBuildingImprovementsMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="RangeAxis" xlink:title="definition: ScheduleOfPropertyPlantAndEquipmentTable to RangeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="LesseeLeaseDescriptionLineItems" xlink:title="LesseeLeaseDescriptionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LeasesAbstract" xlink:title="definition: LesseeLeaseDescriptionLineItems to LeasesAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="FinanceLeaseInterestExpense" xlink:title="FinanceLeaseInterestExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="FinanceLeaseInterestExpense" xlink:title="definition: LesseeLeaseDescriptionLineItems to FinanceLeaseInterestExpense" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="LesseeLeaseDescriptionTable" xlink:title="LesseeLeaseDescriptionTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LesseeLeaseDescriptionTable" xlink:title="definition: LesseeLeaseDescriptionLineItems to LesseeLeaseDescriptionTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="LesseeLeaseDescriptionTable" xlink:to="RangeAxis" xlink:title="definition: LesseeLeaseDescriptionTable to RangeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesImpairmentOfLonglivedAssetsDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDilutedLineItems" xlink:label="EarningsPerShareDilutedLineItems" xlink:title="EarningsPerShareDilutedLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="NetIncomeLossAbstract" xlink:title="NetIncomeLossAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="NetIncomeLossAbstract" xlink:title="definition: EarningsPerShareDilutedLineItems to NetIncomeLossAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="definition: EarningsPerShareDilutedLineItems to WeightedAverageNumberOfSharesOutstandingAbstract" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:label="IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:title="IncrementalCommonSharesAttributableToContingentlyIssuableShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:title="definition: EarningsPerShareDilutedLineItems to IncrementalCommonSharesAttributableToContingentlyIssuableShares" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="definition: EarningsPerShareDilutedLineItems to WeightedAverageNumberOfSharesOutstandingBasic" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="definition: EarningsPerShareDilutedLineItems to IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="definition: EarningsPerShareDilutedLineItems to WeightedAverageNumberOfDilutedSharesOutstanding" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="NetIncomeLoss" xlink:title="definition: EarningsPerShareDilutedLineItems to NetIncomeLoss" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:label="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:title="ScheduleOfEarningsPerShareDilutedByCommonClassTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:title="definition: EarningsPerShareDilutedLineItems to ScheduleOfEarningsPerShareDilutedByCommonClassTable" order="8.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfEarningsPerShareDilutedByCommonClassTable to AwardTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember" xlink:label="RestrictedStockMember" xlink:title="RestrictedStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="TitleOfIndividualAxis" xlink:title="TitleOfIndividualAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:to="TitleOfIndividualAxis" xlink:title="definition: ScheduleOfEarningsPerShareDilutedByCommonClassTable to TitleOfIndividualAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="TitleOfIndividualAxis" xlink:to="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="definition: TitleOfIndividualAxis to TitleOfIndividualWithRelationshipToEntityDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain_2" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="TitleOfIndividualAxis" xlink:to="TitleOfIndividualWithRelationshipToEntityDomain_2" xlink:title="definition: TitleOfIndividualAxis to TitleOfIndividualWithRelationshipToEntityDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember" xlink:label="DirectorMember" xlink:title="DirectorMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="DirectorMember" xlink:title="definition: TitleOfIndividualWithRelationshipToEntityDomain to DirectorMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="ShareBasedPaymentArrangementEmployeeMember" xlink:title="ShareBasedPaymentArrangementEmployeeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="ShareBasedPaymentArrangementEmployeeMember" xlink:title="definition: TitleOfIndividualWithRelationshipToEntityDomain to ShareBasedPaymentArrangementEmployeeMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="FiniteLivedIntangibleAssetsLineItems" xlink:title="FiniteLivedIntangibleAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="FiniteLivedIntangibleAssetsNetAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsNetAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:title="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="AmortizationOfIntangibleAssets" xlink:title="AmortizationOfIntangibleAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="AmortizationOfIntangibleAssets" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to AmortizationOfIntangibleAssets" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to ScheduleOfFiniteLivedIntangibleAssetsTable" order="9.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="definition: ScheduleOfFiniteLivedIntangibleAssetsTable to FiniteLivedIntangibleAssetsByMajorClassAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="definition: FiniteLivedIntangibleAssetsByMajorClassAxis to FiniteLivedIntangibleAssetsMajorClassNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="FiniteLivedIntangibleAssetsMajorClassNameDomain_2" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="FiniteLivedIntangibleAssetsMajorClassNameDomain_2" xlink:title="definition: FiniteLivedIntangibleAssetsByMajorClassAxis to FiniteLivedIntangibleAssetsMajorClassNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntellectualPropertyMember" xlink:label="IntellectualPropertyMember" xlink:title="IntellectualPropertyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="IntellectualPropertyMember" xlink:title="definition: FiniteLivedIntangibleAssetsMajorClassNameDomain to IntellectualPropertyMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="RangeAxis" xlink:title="definition: ScheduleOfFiniteLivedIntangibleAssetsTable to RangeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductInformationLineItems" xlink:label="ProductInformationLineItems" xlink:title="ProductInformationLineItems" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ShippingAndHandlingCostsAbstract" xlink:label="ShippingAndHandlingCostsAbstract" xlink:title="ShippingAndHandlingCostsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductInformationLineItems" xlink:to="ShippingAndHandlingCostsAbstract" xlink:title="definition: ProductInformationLineItems to ShippingAndHandlingCostsAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingCostsAndExpenses" xlink:label="OperatingCostsAndExpenses" xlink:title="OperatingCostsAndExpenses" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductInformationLineItems" xlink:to="OperatingCostsAndExpenses" xlink:title="definition: ProductInformationLineItems to OperatingCostsAndExpenses" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="ScheduleOfProductInformationTable" xlink:title="ScheduleOfProductInformationTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ProductInformationLineItems" xlink:to="ScheduleOfProductInformationTable" xlink:title="definition: ProductInformationLineItems to ScheduleOfProductInformationTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="ProductOrServiceAxis" xlink:title="ProductOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfProductInformationTable" xlink:to="ProductOrServiceAxis" xlink:title="definition: ScheduleOfProductInformationTable to ProductOrServiceAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain" xlink:title="ProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ProductOrServiceAxis" xlink:to="ProductsAndServicesDomain" xlink:title="definition: ProductOrServiceAxis to ProductsAndServicesDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain_2" xlink:title="ProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ProductOrServiceAxis" xlink:to="ProductsAndServicesDomain_2" xlink:title="definition: ProductOrServiceAxis to ProductsAndServicesDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="ShippingAndHandlingMember" xlink:title="ShippingAndHandlingMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="ShippingAndHandlingMember" xlink:title="definition: ProductsAndServicesDomain to ShippingAndHandlingMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesAdvertisingDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:label="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="PropertyPlantAndEquipmentNetByTypeAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNetByTypeAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="Depreciation" xlink:title="Depreciation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="Depreciation" xlink:title="definition: PropertyPlantAndEquipmentLineItems to Depreciation" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentGross" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentGross" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="definition: PropertyPlantAndEquipmentLineItems to AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNet" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="definition: PropertyPlantAndEquipmentLineItems to ScheduleOfPropertyPlantAndEquipmentTable" order="6.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="definition: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingMember" xlink:label="BuildingMember" xlink:title="BuildingMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="BuildingMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to BuildingMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandMember" xlink:label="LandMember" xlink:title="LandMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="LandMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to LandMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="LeaseholdImprovementsMember" xlink:title="LeaseholdImprovementsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="LeaseholdImprovementsMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to LeaseholdImprovementsMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="FurnitureAndFixturesMember" xlink:title="FurnitureAndFixturesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndFixturesMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to FurnitureAndFixturesMember" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VehiclesMember" xlink:label="VehiclesMember" xlink:title="VehiclesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="VehiclesMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to VehiclesMember" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="StatementGeographicalAxis" xlink:title="definition: ScheduleOfPropertyPlantAndEquipmentTable to StatementGeographicalAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain_2" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain_2" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="definition: SegmentGeographicalDomain to US" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="definition: SegmentGeographicalDomain to CA" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_ES" xlink:label="ES" xlink:title="ES" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="ES" xlink:title="definition: SegmentGeographicalDomain to ES" order="3.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="LesseeLeaseDescriptionLineItems" xlink:title="LesseeLeaseDescriptionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="AssetsAbstract" xlink:title="definition: LesseeLeaseDescriptionLineItems to AssetsAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAbstract" xlink:label="LiabilitiesAbstract" xlink:title="LiabilitiesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LiabilitiesAbstract" xlink:title="definition: LesseeLeaseDescriptionLineItems to LiabilitiesAbstract" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostAbstract" xlink:label="LeaseCostAbstract" xlink:title="LeaseCostAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LeaseCostAbstract" xlink:title="definition: LesseeLeaseDescriptionLineItems to LeaseCostAbstract" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="OperatingLeaseCost" xlink:title="OperatingLeaseCost" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="OperatingLeaseCost" xlink:title="definition: LesseeLeaseDescriptionLineItems to OperatingLeaseCost" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseImpairmentLoss" xlink:label="OperatingLeaseImpairmentLoss" xlink:title="OperatingLeaseImpairmentLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="OperatingLeaseImpairmentLoss" xlink:title="definition: LesseeLeaseDescriptionLineItems to OperatingLeaseImpairmentLoss" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermLeaseCost" xlink:label="ShortTermLeaseCost" xlink:title="ShortTermLeaseCost" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="ShortTermLeaseCost" xlink:title="definition: LesseeLeaseDescriptionLineItems to ShortTermLeaseCost" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableLeaseCost" xlink:label="VariableLeaseCost" xlink:title="VariableLeaseCost" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="VariableLeaseCost" xlink:title="definition: LesseeLeaseDescriptionLineItems to VariableLeaseCost" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_FinanceLeaseCostsAbstract" xlink:label="FinanceLeaseCostsAbstract" xlink:title="FinanceLeaseCostsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="FinanceLeaseCostsAbstract" xlink:title="definition: LesseeLeaseDescriptionLineItems to FinanceLeaseCostsAbstract" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="FinanceLeaseRightOfUseAssetAmortization" xlink:title="FinanceLeaseRightOfUseAssetAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="FinanceLeaseRightOfUseAssetAmortization" xlink:title="definition: LesseeLeaseDescriptionLineItems to FinanceLeaseRightOfUseAssetAmortization" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="FinanceLeaseInterestExpense" xlink:title="FinanceLeaseInterestExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="FinanceLeaseInterestExpense" xlink:title="definition: LesseeLeaseDescriptionLineItems to FinanceLeaseInterestExpense" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="LeaseCost" xlink:title="LeaseCost" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LeaseCost" xlink:title="definition: LesseeLeaseDescriptionLineItems to LeaseCost" order="11.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OperatingLeaseCurrentLiabilityAbstract" xlink:label="OperatingLeaseCurrentLiabilityAbstract" xlink:title="OperatingLeaseCurrentLiabilityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="OperatingLeaseCurrentLiabilityAbstract" xlink:title="definition: LesseeLeaseDescriptionLineItems to OperatingLeaseCurrentLiabilityAbstract" order="12.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OperatingLeaseNonCurrentLiabilityAbstract" xlink:label="OperatingLeaseNonCurrentLiabilityAbstract" xlink:title="OperatingLeaseNonCurrentLiabilityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="OperatingLeaseNonCurrentLiabilityAbstract" xlink:title="definition: LesseeLeaseDescriptionLineItems to OperatingLeaseNonCurrentLiabilityAbstract" order="13.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LeaseLiabilities" xlink:label="LeaseLiabilities" xlink:title="LeaseLiabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LeaseLiabilities" xlink:title="definition: LesseeLeaseDescriptionLineItems to LeaseLiabilities" order="14.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="definition: LesseeLeaseDescriptionLineItems to OperatingLeaseLiabilityNoncurrent" order="15.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:title="OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:title="definition: LesseeLeaseDescriptionLineItems to OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" order="16.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="FinanceLeaseLiabilityNoncurrent" xlink:title="FinanceLeaseLiabilityNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="FinanceLeaseLiabilityNoncurrent" xlink:title="definition: LesseeLeaseDescriptionLineItems to FinanceLeaseLiabilityNoncurrent" order="17.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:title="FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:title="definition: LesseeLeaseDescriptionLineItems to FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" order="18.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="definition: LesseeLeaseDescriptionLineItems to OperatingLeaseLiabilityCurrent" order="19.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:title="OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:title="definition: LesseeLeaseDescriptionLineItems to OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" order="20.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="FinanceLeaseLiabilityCurrent" xlink:title="FinanceLeaseLiabilityCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="FinanceLeaseLiabilityCurrent" xlink:title="definition: LesseeLeaseDescriptionLineItems to FinanceLeaseLiabilityCurrent" order="21.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:title="FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:title="definition: LesseeLeaseDescriptionLineItems to FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" order="22.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="definition: LesseeLeaseDescriptionLineItems to OperatingLeaseRightOfUseAsset" order="23.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:title="OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:title="definition: LesseeLeaseDescriptionLineItems to OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" order="24.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="FinanceLeaseRightOfUseAsset" xlink:title="FinanceLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="FinanceLeaseRightOfUseAsset" xlink:title="definition: LesseeLeaseDescriptionLineItems to FinanceLeaseRightOfUseAsset" order="25.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:title="FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:title="definition: LesseeLeaseDescriptionLineItems to FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" order="26.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LeaseAssets" xlink:label="LeaseAssets" xlink:title="LeaseAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LeaseAssets" xlink:title="definition: LesseeLeaseDescriptionLineItems to LeaseAssets" order="27.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="LesseeLeaseDescriptionTable" xlink:title="LesseeLeaseDescriptionTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LesseeLeaseDescriptionTable" xlink:title="definition: LesseeLeaseDescriptionLineItems to LesseeLeaseDescriptionTable" order="28.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="IncomeStatementLocationAxis" xlink:title="IncomeStatementLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="LesseeLeaseDescriptionTable" xlink:to="IncomeStatementLocationAxis" xlink:title="definition: LesseeLeaseDescriptionTable to IncomeStatementLocationAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="IncomeStatementLocationDomain" xlink:title="IncomeStatementLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="IncomeStatementLocationAxis" xlink:to="IncomeStatementLocationDomain" xlink:title="definition: IncomeStatementLocationAxis to IncomeStatementLocationDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="IncomeStatementLocationDomain_2" xlink:title="IncomeStatementLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="IncomeStatementLocationAxis" xlink:to="IncomeStatementLocationDomain_2" xlink:title="definition: IncomeStatementLocationAxis to IncomeStatementLocationDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenseMember" xlink:label="OperatingExpenseMember" xlink:title="OperatingExpenseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="IncomeStatementLocationDomain" xlink:to="OperatingExpenseMember" xlink:title="definition: IncomeStatementLocationDomain to OperatingExpenseMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ImpairmentExpenseMember" xlink:label="ImpairmentExpenseMember" xlink:title="ImpairmentExpenseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="IncomeStatementLocationDomain" xlink:to="ImpairmentExpenseMember" xlink:title="definition: IncomeStatementLocationDomain to ImpairmentExpenseMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseMember" xlink:label="InterestExpenseMember" xlink:title="InterestExpenseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="IncomeStatementLocationDomain" xlink:to="InterestExpenseMember" xlink:title="definition: IncomeStatementLocationDomain to InterestExpenseMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="AdjustmentsForNewAccountingPronouncementsAxis" xlink:title="AdjustmentsForNewAccountingPronouncementsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="LesseeLeaseDescriptionTable" xlink:to="AdjustmentsForNewAccountingPronouncementsAxis" xlink:title="definition: LesseeLeaseDescriptionTable to AdjustmentsForNewAccountingPronouncementsAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="TypeOfAdoptionMember" xlink:title="TypeOfAdoptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="TypeOfAdoptionMember" xlink:title="definition: AdjustmentsForNewAccountingPronouncementsAxis to TypeOfAdoptionMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="TypeOfAdoptionMember_2" xlink:title="TypeOfAdoptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="TypeOfAdoptionMember_2" xlink:title="definition: AdjustmentsForNewAccountingPronouncementsAxis to TypeOfAdoptionMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="AccountingStandardsUpdate201602Member" xlink:title="AccountingStandardsUpdate201602Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TypeOfAdoptionMember" xlink:to="AccountingStandardsUpdate201602Member" xlink:title="definition: TypeOfAdoptionMember to AccountingStandardsUpdate201602Member" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="LesseeLeaseDescriptionTable" xlink:to="RangeAxis" xlink:title="definition: LesseeLeaseDescriptionTable to RangeAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesOperatingLeasesOtherInformationDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentsAbstract" xlink:label="DebtInstrumentsAbstract" xlink:title="DebtInstrumentsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentsAbstract" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentsAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="ProceedsFromIssuanceOfLongTermDebt" xlink:title="ProceedsFromIssuanceOfLongTermDebt" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="ProceedsFromIssuanceOfLongTermDebt" xlink:title="definition: DebtInstrumentLineItems to ProceedsFromIssuanceOfLongTermDebt" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityMaximumBorrowingCapacity" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="ProceedsFromLinesOfCredit" xlink:title="ProceedsFromLinesOfCredit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="ProceedsFromLinesOfCredit" xlink:title="definition: DebtInstrumentLineItems to ProceedsFromLinesOfCredit" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentTable" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentAxis" xlink:title="definition: DebtInstrumentTable to DebtInstrumentAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain" xlink:title="definition: DebtInstrumentAxis to DebtInstrumentNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain_2" xlink:title="DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain_2" xlink:title="definition: DebtInstrumentAxis to DebtInstrumentNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:label="InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:title="InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentNameDomain" xlink:to="InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:title="definition: DebtInstrumentNameDomain to InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="LineOfCreditFacilityAxis" xlink:title="LineOfCreditFacilityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="LineOfCreditFacilityAxis" xlink:title="definition: DebtInstrumentTable to LineOfCreditFacilityAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="LineOfCreditFacilityLenderDomain" xlink:title="LineOfCreditFacilityLenderDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="LineOfCreditFacilityAxis" xlink:to="LineOfCreditFacilityLenderDomain" xlink:title="definition: LineOfCreditFacilityAxis to LineOfCreditFacilityLenderDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="LineOfCreditFacilityLenderDomain_2" xlink:title="LineOfCreditFacilityLenderDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="LineOfCreditFacilityAxis" xlink:to="LineOfCreditFacilityLenderDomain_2" xlink:title="definition: LineOfCreditFacilityAxis to LineOfCreditFacilityLenderDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_JPMorganChaseBankNAMember" xlink:label="JPMorganChaseBankNAMember" xlink:title="JPMorganChaseBankNAMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LineOfCreditFacilityLenderDomain" xlink:to="JPMorganChaseBankNAMember" xlink:title="definition: LineOfCreditFacilityLenderDomain to JPMorganChaseBankNAMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="DefinedBenefitPlanDisclosureLineItems" xlink:title="DefinedBenefitPlanDisclosureLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:label="PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:title="PensionAndOtherPostretirementBenefitExpenseAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DefinedBenefitPlanDisclosureLineItems" xlink:to="PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:title="definition: DefinedBenefitPlanDisclosureLineItems to PensionAndOtherPostretirementBenefitExpenseAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DefinedBenefitPlanDisclosureLineItems" xlink:to="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="definition: DefinedBenefitPlanDisclosureLineItems to DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DefinedBenefitPlanDisclosureLineItems" xlink:to="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="definition: DefinedBenefitPlanDisclosureLineItems to DefinedContributionPlanEmployerMatchingContributionPercent" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="DefinedContributionPlanCostRecognized" xlink:title="DefinedContributionPlanCostRecognized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DefinedBenefitPlanDisclosureLineItems" xlink:to="DefinedContributionPlanCostRecognized" xlink:title="definition: DefinedBenefitPlanDisclosureLineItems to DefinedContributionPlanCostRecognized" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:label="DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:title="DefinedContributionPlanEmployerDiscretionaryContributionAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DefinedBenefitPlanDisclosureLineItems" xlink:to="DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:title="definition: DefinedBenefitPlanDisclosureLineItems to DefinedContributionPlanEmployerDiscretionaryContributionAmount" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanTable" xlink:label="DefinedContributionPlanTable" xlink:title="DefinedContributionPlanTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DefinedBenefitPlanDisclosureLineItems" xlink:to="DefinedContributionPlanTable" xlink:title="definition: DefinedBenefitPlanDisclosureLineItems to DefinedContributionPlanTable" order="6.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="RetirementPlanTypeAxis" xlink:title="RetirementPlanTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DefinedContributionPlanTable" xlink:to="RetirementPlanTypeAxis" xlink:title="definition: DefinedContributionPlanTable to RetirementPlanTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="RetirementPlanTypeDomain" xlink:title="RetirementPlanTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RetirementPlanTypeAxis" xlink:to="RetirementPlanTypeDomain" xlink:title="definition: RetirementPlanTypeAxis to RetirementPlanTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="RetirementPlanTypeDomain_2" xlink:title="RetirementPlanTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RetirementPlanTypeAxis" xlink:to="RetirementPlanTypeDomain_2" xlink:title="definition: RetirementPlanTypeAxis to RetirementPlanTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OneHundredPercentContributionMember" xlink:label="OneHundredPercentContributionMember" xlink:title="OneHundredPercentContributionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RetirementPlanTypeDomain" xlink:to="OneHundredPercentContributionMember" xlink:title="definition: RetirementPlanTypeDomain to OneHundredPercentContributionMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_FiftyPercentContributionMember" xlink:label="FiftyPercentContributionMember" xlink:title="FiftyPercentContributionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RetirementPlanTypeDomain" xlink:to="FiftyPercentContributionMember" xlink:title="definition: RetirementPlanTypeDomain to FiftyPercentContributionMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:title="definition: StatementLineItems to IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:title="definition: StatementLineItems to IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="definition: StatementLineItems to IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="definition: StatementLineItems to IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="StatementLineItems" xlink:to="StatementTable" xlink:title="definition: StatementLineItems to StatementTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="IncomeTaxAuthorityNameAxis" xlink:title="IncomeTaxAuthorityNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="StatementTable" xlink:to="IncomeTaxAuthorityNameAxis" xlink:title="definition: StatementTable to IncomeTaxAuthorityNameAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="IncomeTaxAuthorityNameDomain" xlink:title="IncomeTaxAuthorityNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="IncomeTaxAuthorityNameAxis" xlink:to="IncomeTaxAuthorityNameDomain" xlink:title="definition: IncomeTaxAuthorityNameAxis to IncomeTaxAuthorityNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="IncomeTaxAuthorityNameDomain_2" xlink:title="IncomeTaxAuthorityNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="IncomeTaxAuthorityNameAxis" xlink:to="IncomeTaxAuthorityNameDomain_2" xlink:title="definition: IncomeTaxAuthorityNameAxis to IncomeTaxAuthorityNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternalRevenueServiceIRSMember" xlink:label="InternalRevenueServiceIRSMember" xlink:title="InternalRevenueServiceIRSMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="IncomeTaxAuthorityNameDomain" xlink:to="InternalRevenueServiceIRSMember" xlink:title="definition: IncomeTaxAuthorityNameDomain to InternalRevenueServiceIRSMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxAuthoritySpainMember" xlink:label="TaxAuthoritySpainMember" xlink:title="TaxAuthoritySpainMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="IncomeTaxAuthorityNameDomain" xlink:to="TaxAuthoritySpainMember" xlink:title="definition: IncomeTaxAuthorityNameDomain to TaxAuthoritySpainMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="CanadaRevenueAgencyMember" xlink:title="CanadaRevenueAgencyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="IncomeTaxAuthorityNameDomain" xlink:to="CanadaRevenueAgencyMember" xlink:title="definition: IncomeTaxAuthorityNameDomain to CanadaRevenueAgencyMember" order="3.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesReconciliationOfUncertainTaxPositionsDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="ConcentrationRiskLineItems" xlink:title="ConcentrationRiskLineItems" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ConcentrationRiskAbstract" xlink:label="ConcentrationRiskAbstract" xlink:title="ConcentrationRiskAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskLineItems" xlink:to="ConcentrationRiskAbstract" xlink:title="definition: ConcentrationRiskLineItems to ConcentrationRiskAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NumberOfMajorCustomers" xlink:label="NumberOfMajorCustomers" xlink:title="NumberOfMajorCustomers" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskLineItems" xlink:to="NumberOfMajorCustomers" xlink:title="definition: ConcentrationRiskLineItems to NumberOfMajorCustomers" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskLineItems" xlink:to="ConcentrationRiskPercentage1" xlink:title="definition: ConcentrationRiskLineItems to ConcentrationRiskPercentage1" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NumberOfSuppliers" xlink:label="NumberOfSuppliers" xlink:title="NumberOfSuppliers" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskLineItems" xlink:to="NumberOfSuppliers" xlink:title="definition: ConcentrationRiskLineItems to NumberOfSuppliers" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NumberOfMajorSuppliers" xlink:label="NumberOfMajorSuppliers" xlink:title="NumberOfMajorSuppliers" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskLineItems" xlink:to="NumberOfMajorSuppliers" xlink:title="definition: ConcentrationRiskLineItems to NumberOfMajorSuppliers" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="ConcentrationRiskTable" xlink:title="ConcentrationRiskTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ConcentrationRiskLineItems" xlink:to="ConcentrationRiskTable" xlink:title="definition: ConcentrationRiskLineItems to ConcentrationRiskTable" order="6.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskByBenchmarkAxis" xlink:title="definition: ConcentrationRiskTable to ConcentrationRiskByBenchmarkAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain" xlink:title="definition: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain_2" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain_2" xlink:title="definition: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="SalesRevenueNetMember" xlink:title="definition: ConcentrationRiskBenchmarkDomain to SalesRevenueNetMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="AccountsReceivableMember" xlink:title="AccountsReceivableMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="AccountsReceivableMember" xlink:title="definition: ConcentrationRiskBenchmarkDomain to AccountsReceivableMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableMember" xlink:label="AccountsPayableMember" xlink:title="AccountsPayableMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="AccountsPayableMember" xlink:title="definition: ConcentrationRiskBenchmarkDomain to AccountsPayableMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskByTypeAxis" xlink:title="definition: ConcentrationRiskTable to ConcentrationRiskByTypeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain" xlink:title="definition: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain_2" xlink:title="ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain_2" xlink:title="definition: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="CustomerConcentrationRiskMember" xlink:title="CustomerConcentrationRiskMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskTypeDomain" xlink:to="CustomerConcentrationRiskMember" xlink:title="definition: ConcentrationRiskTypeDomain to CustomerConcentrationRiskMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplierConcentrationRiskMember" xlink:label="SupplierConcentrationRiskMember" xlink:title="SupplierConcentrationRiskMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskTypeDomain" xlink:to="SupplierConcentrationRiskMember" xlink:title="definition: ConcentrationRiskTypeDomain to SupplierConcentrationRiskMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="MajorCustomersAxis" xlink:title="MajorCustomersAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ConcentrationRiskTable" xlink:to="MajorCustomersAxis" xlink:title="definition: ConcentrationRiskTable to MajorCustomersAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="NameOfMajorCustomerDomain" xlink:title="NameOfMajorCustomerDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="MajorCustomersAxis" xlink:to="NameOfMajorCustomerDomain" xlink:title="definition: MajorCustomersAxis to NameOfMajorCustomerDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="NameOfMajorCustomerDomain_2" xlink:title="NameOfMajorCustomerDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="MajorCustomersAxis" xlink:to="NameOfMajorCustomerDomain_2" xlink:title="definition: MajorCustomersAxis to NameOfMajorCustomerDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_FiveMajorCustomersMember" xlink:label="FiveMajorCustomersMember" xlink:title="FiveMajorCustomersMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="NameOfMajorCustomerDomain" xlink:to="FiveMajorCustomersMember" xlink:title="definition: NameOfMajorCustomerDomain to FiveMajorCustomersMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_TwoMajorCustomersMember" xlink:label="TwoMajorCustomersMember" xlink:title="TwoMajorCustomersMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="NameOfMajorCustomerDomain" xlink:to="TwoMajorCustomersMember" xlink:title="definition: NameOfMajorCustomerDomain to TwoMajorCustomersMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:label="ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:title="ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ConcentrationRiskTable" xlink:to="ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:title="definition: ConcentrationRiskTable to ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:title="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:to="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:title="definition: ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis to ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_2" xlink:title="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:to="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_2" xlink:title="definition: ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis to ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_TenMajorSuppliersMember" xlink:label="TenMajorSuppliersMember" xlink:title="TenMajorSuppliersMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="TenMajorSuppliersMember" xlink:title="definition: ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain to TenMajorSuppliersMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OneMajorSupplierMember" xlink:label="OneMajorSupplierMember" xlink:title="OneMajorSupplierMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="OneMajorSupplierMember" xlink:title="definition: ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain to OneMajorSupplierMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ConcentrationRiskTable" xlink:to="StatementGeographicalAxis" xlink:title="definition: ConcentrationRiskTable to StatementGeographicalAxis" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain_2" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain_2" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="definition: SegmentGeographicalDomain to US" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember" xlink:label="NonUsMember" xlink:title="NonUsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="NonUsMember" xlink:title="definition: SegmentGeographicalDomain to NonUsMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ConcentrationRiskTable" xlink:to="RangeAxis" xlink:title="definition: ConcentrationRiskTable to RangeAxis" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="StockholdersEquityNoteAbstract" xlink:title="StockholdersEquityNoteAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="StockholdersEquityNoteAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to StockholdersEquityNoteAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="CommonStockCapitalSharesReservedForFutureIssuance" xlink:title="CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="CommonStockCapitalSharesReservedForFutureIssuance" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to CommonStockCapitalSharesReservedForFutureIssuance" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="AllocatedShareBasedCompensationExpense" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to AllocatedShareBasedCompensationExpense" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="7.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="definition: PlanNameAxis to PlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain_2" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain_2" xlink:title="definition: PlanNameAxis to PlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" xlink:label="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:title="TwoThousandAndThirteenRestrictedStockPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PlanNameDomain" xlink:to="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:title="definition: PlanNameDomain to TwoThousandAndThirteenRestrictedStockPlanMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:label="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:title="TwoThousandAndTwentyThreeRestrictedStockPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PlanNameDomain" xlink:to="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:title="definition: PlanNameDomain to TwoThousandAndTwentyThreeRestrictedStockPlanMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:label="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="ServicedBasedRestrictedStockUnitsRSUsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="definition: RestrictedStockUnitsRSUMember to ServicedBasedRestrictedStockUnitsRSUsMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:label="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="PerformanceBasedRestrictedStockUnitsRSUsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="definition: RestrictedStockUnitsRSUMember to PerformanceBasedRestrictedStockUnitsRSUsMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="TitleOfIndividualAxis" xlink:title="TitleOfIndividualAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="TitleOfIndividualAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to TitleOfIndividualAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="TitleOfIndividualAxis" xlink:to="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="definition: TitleOfIndividualAxis to TitleOfIndividualWithRelationshipToEntityDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain_2" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="TitleOfIndividualAxis" xlink:to="TitleOfIndividualWithRelationshipToEntityDomain_2" xlink:title="definition: TitleOfIndividualAxis to TitleOfIndividualWithRelationshipToEntityDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember" xlink:label="DirectorMember" xlink:title="DirectorMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="DirectorMember" xlink:title="definition: TitleOfIndividualWithRelationshipToEntityDomain to DirectorMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="ChiefExecutiveOfficerMember" xlink:title="ChiefExecutiveOfficerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="ChiefExecutiveOfficerMember" xlink:title="definition: TitleOfIndividualWithRelationshipToEntityDomain to ChiefExecutiveOfficerMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="VestingAxis" xlink:title="VestingAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="VestingAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to VestingAxis" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="VestingDomain" xlink:title="VestingDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="VestingAxis" xlink:to="VestingDomain" xlink:title="definition: VestingAxis to VestingDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="VestingDomain_2" xlink:title="VestingDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="VestingAxis" xlink:to="VestingDomain_2" xlink:title="definition: VestingAxis to VestingDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="ShareBasedCompensationAwardTrancheOneMember" xlink:title="ShareBasedCompensationAwardTrancheOneMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="VestingDomain" xlink:to="ShareBasedCompensationAwardTrancheOneMember" xlink:title="definition: VestingDomain to ShareBasedCompensationAwardTrancheOneMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="ShareBasedCompensationAwardTrancheTwoMember" xlink:title="ShareBasedCompensationAwardTrancheTwoMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="VestingDomain" xlink:to="ShareBasedCompensationAwardTrancheTwoMember" xlink:title="definition: VestingDomain to ShareBasedCompensationAwardTrancheTwoMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="RangeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to RangeAxis" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="11.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_RestrictedStockAndRestrictedStockUnitsMember" xlink:label="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="RestrictedStockAndRestrictedStockUnitsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockAndRestrictedStockUnitsMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="ShareBasedCompensationAbstract" xlink:title="ShareBasedCompensationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="AllocatedShareBasedCompensationExpense" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to AllocatedShareBasedCompensationExpense" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="10.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:label="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="ServicedBasedRestrictedStockUnitsRSUsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to ServicedBasedRestrictedStockUnitsRSUsMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:label="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="PerformanceBasedRestrictedStockUnitsRSUsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to PerformanceBasedRestrictedStockUnitsRSUsMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_RestrictedStockAndRestrictedStockUnitsMember" xlink:label="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="RestrictedStockAndRestrictedStockUnitsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockAndRestrictedStockUnitsMember" order="3.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="EquityClassOfTreasuryStockLineItems" xlink:title="EquityClassOfTreasuryStockLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="StockholdersEquityNoteAbstract" xlink:title="StockholdersEquityNoteAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="StockholdersEquityNoteAbstract" xlink:title="definition: EquityClassOfTreasuryStockLineItems to StockholdersEquityNoteAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="StockRepurchaseProgramAuthorizedAmount1" xlink:title="StockRepurchaseProgramAuthorizedAmount1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="StockRepurchaseProgramAuthorizedAmount1" xlink:title="definition: EquityClassOfTreasuryStockLineItems to StockRepurchaseProgramAuthorizedAmount1" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:title="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:title="definition: EquityClassOfTreasuryStockLineItems to StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:label="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="StockRepurchasedAndRetiredDuringPeriodShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="definition: EquityClassOfTreasuryStockLineItems to StockRepurchasedAndRetiredDuringPeriodShares" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="CommonStockParOrStatedValuePerShare" xlink:title="definition: EquityClassOfTreasuryStockLineItems to CommonStockParOrStatedValuePerShare" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="SharePrice" xlink:title="SharePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="SharePrice" xlink:title="definition: EquityClassOfTreasuryStockLineItems to SharePrice" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:label="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="StockRepurchasedAndRetiredDuringPeriodValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="definition: EquityClassOfTreasuryStockLineItems to StockRepurchasedAndRetiredDuringPeriodValue" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_PercentageOfCommonStockOutstanding" xlink:label="PercentageOfCommonStockOutstanding" xlink:title="PercentageOfCommonStockOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="PercentageOfCommonStockOutstanding" xlink:title="definition: EquityClassOfTreasuryStockLineItems to PercentageOfCommonStockOutstanding" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="ClassOfTreasuryStockTable" xlink:title="ClassOfTreasuryStockTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="ClassOfTreasuryStockTable" xlink:title="definition: EquityClassOfTreasuryStockLineItems to ClassOfTreasuryStockTable" order="9.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ClassOfTreasuryStockTable" xlink:to="RangeAxis" xlink:title="definition: ClassOfTreasuryStockTable to RangeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="ShareRepurchaseProgramAxis" xlink:title="ShareRepurchaseProgramAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ClassOfTreasuryStockTable" xlink:to="ShareRepurchaseProgramAxis" xlink:title="definition: ClassOfTreasuryStockTable to ShareRepurchaseProgramAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="ShareRepurchaseProgramDomain" xlink:title="ShareRepurchaseProgramDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ShareRepurchaseProgramAxis" xlink:to="ShareRepurchaseProgramDomain" xlink:title="definition: ShareRepurchaseProgramAxis to ShareRepurchaseProgramDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="ShareRepurchaseProgramDomain_2" xlink:title="ShareRepurchaseProgramDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ShareRepurchaseProgramAxis" xlink:to="ShareRepurchaseProgramDomain_2" xlink:title="definition: ShareRepurchaseProgramAxis to ShareRepurchaseProgramDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ShareRepurchaseProgramMember" xlink:label="ShareRepurchaseProgramMember" xlink:title="ShareRepurchaseProgramMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareRepurchaseProgramDomain" xlink:to="ShareRepurchaseProgramMember" xlink:title="definition: ShareRepurchaseProgramDomain to ShareRepurchaseProgramMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="FinanceLeaseRightOfUseAsset" xlink:title="FinanceLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AssetsAbstract" xlink:to="FinanceLeaseRightOfUseAsset" xlink:title="definition: AssetsAbstract to FinanceLeaseRightOfUseAsset" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="LiabilitiesCurrentAbstract" xlink:title="LiabilitiesCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LiabilitiesCurrentAbstract" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="definition: LiabilitiesCurrentAbstract to OperatingLeaseLiabilityCurrent" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AssetsAbstract" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="definition: AssetsAbstract to OperatingLeaseRightOfUseAsset" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="FinanceLeaseLiabilityCurrent" xlink:title="FinanceLeaseLiabilityCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LiabilitiesCurrentAbstract" xlink:to="FinanceLeaseLiabilityCurrent" xlink:title="definition: LiabilitiesCurrentAbstract to FinanceLeaseLiabilityCurrent" order="2.0" />
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>tlfa-20231231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" />
  <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:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" />
  <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:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems" xlink:label="InsiderTradingArrLineItems" xlink:title="InsiderTradingArrLineItems" />
    <link:label xlink:type="resource" xlink:label="ecd_InsiderTradingArrLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_InsiderTradingArrLineItems" xml:lang="en-US" id="ecd_InsiderTradingArrLineItems">Insider Trading Arrangements [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InsiderTradingArrLineItems" xlink:to="ecd_InsiderTradingArrLineItems" xlink:title="label: InsiderTradingArrLineItems to ecd_InsiderTradingArrLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="Rule10b51ArrAdoptedFlag" xlink:title="Rule10b51ArrAdoptedFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_Rule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="ecd_Rule10b51ArrAdoptedFlag" xml:lang="en-US" id="ecd_Rule10b51ArrAdoptedFlag">Rule 10b5-1 Arrangement Adopted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag" xlink:title="label: Rule10b51ArrAdoptedFlag to ecd_Rule10b51ArrAdoptedFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_Rule10b51ArrAdoptedFlag_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_Rule10b51ArrAdoptedFlag_lbl1" xml:lang="en-US" id="ecd_Rule10b51ArrAdoptedFlag_lbl1">Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag_lbl1" xlink:title="label: Rule10b51ArrAdoptedFlag to ecd_Rule10b51ArrAdoptedFlag_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="Rule10b51ArrTrmntdFlag" xlink:title="Rule10b51ArrTrmntdFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_Rule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="ecd_Rule10b51ArrTrmntdFlag" xml:lang="en-US" id="ecd_Rule10b51ArrTrmntdFlag">Rule 10b5-1 Arrangement Terminated</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag" xlink:title="label: Rule10b51ArrTrmntdFlag to ecd_Rule10b51ArrTrmntdFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_Rule10b51ArrTrmntdFlag_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_Rule10b51ArrTrmntdFlag_lbl1" xml:lang="en-US" id="ecd_Rule10b51ArrTrmntdFlag_lbl1">Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag_lbl1" xlink:title="label: Rule10b51ArrTrmntdFlag to ecd_Rule10b51ArrTrmntdFlag_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="NonRule10b51ArrAdoptedFlag" xlink:title="NonRule10b51ArrAdoptedFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_NonRule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="ecd_NonRule10b51ArrAdoptedFlag" xml:lang="en-US" id="ecd_NonRule10b51ArrAdoptedFlag">Non-Rule 10b5-1 Arrangement Adopted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag" xlink:title="label: NonRule10b51ArrAdoptedFlag to ecd_NonRule10b51ArrAdoptedFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_NonRule10b51ArrAdoptedFlag_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_NonRule10b51ArrAdoptedFlag_lbl1" xml:lang="en-US" id="ecd_NonRule10b51ArrAdoptedFlag_lbl1">Non-Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag_lbl1" xlink:title="label: NonRule10b51ArrAdoptedFlag to ecd_NonRule10b51ArrAdoptedFlag_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="NonRule10b51ArrTrmntdFlag" xlink:title="NonRule10b51ArrTrmntdFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_NonRule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="ecd_NonRule10b51ArrTrmntdFlag" xml:lang="en-US" id="ecd_NonRule10b51ArrTrmntdFlag">Non-Rule 10b5-1 Arrangement Terminated</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag" xlink:title="label: NonRule10b51ArrTrmntdFlag to ecd_NonRule10b51ArrTrmntdFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_NonRule10b51ArrTrmntdFlag_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_NonRule10b51ArrTrmntdFlag_lbl1" xml:lang="en-US" id="ecd_NonRule10b51ArrTrmntdFlag_lbl1">Non-Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag_lbl1" xlink:title="label: NonRule10b51ArrTrmntdFlag to ecd_NonRule10b51ArrTrmntdFlag_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsReceivableNetCurrent" xml:lang="en-US" id="us-gaap_AccountsReceivableNetCurrent">Accounts receivable-trade, net of allowance for doubtful accounts of $31 and $56 at December 31, 2023 and December 31, 2022, respectively</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:title="label: AccountsReceivableNetCurrent to us-gaap_AccountsReceivableNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_AccountsReceivableNetCurrent1" xml:lang="en-US" id="us-gaap_AccountsReceivableNetCurrent1">Accounts receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent1" xlink:title="label: AccountsReceivableNetCurrent to us-gaap_AccountsReceivableNetCurrent1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">Accumulated amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="label: FiniteLivedIntangibleAssetsAccumulatedAmortization to us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" xlink:title="label: FiniteLivedIntangibleAssetsAccumulatedAmortization to us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">Accumulated other comprehensive loss, net of tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="label: AccumulatedOtherComprehensiveIncomeLossNetOfTax to us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:title="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xml:lang="en-US" id="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">Less accumulated depreciation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="label: AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment to us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment1" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment1" xml:lang="en-US" id="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment1">Less: accumulated depreciation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment1" xlink:title="label: AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment to us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl2" xml:lang="en-US" id="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl2">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl2" xlink:title="label: AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment to us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="AdditionalPaidInCapital" xlink:title="AdditionalPaidInCapital" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdditionalPaidInCapital" xml:lang="en-US" id="us-gaap_AdditionalPaidInCapital">Paid-in capital</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital" xlink:title="label: AdditionalPaidInCapital to us-gaap_AdditionalPaidInCapital" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="Depreciation" xlink:title="Depreciation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Depreciation" xml:lang="en-US" id="us-gaap_Depreciation">Depreciation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Depreciation" xlink:to="us-gaap_Depreciation" xlink:title="label: Depreciation to us-gaap_Depreciation" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense" xlink:label="AdvertisingExpense" xlink:title="AdvertisingExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdvertisingExpense" xml:lang="en-US" id="us-gaap_AdvertisingExpense">Advertising expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdvertisingExpense" xlink:to="us-gaap_AdvertisingExpense" xlink:title="label: AdvertisingExpense to us-gaap_AdvertisingExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="AdvertisingCostsPolicyTextBlock" xlink:title="AdvertisingCostsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdvertisingCostsPolicyTextBlock" xml:lang="en-US" id="us-gaap_AdvertisingCostsPolicyTextBlock">Advertising</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:title="label: AdvertisingCostsPolicyTextBlock to us-gaap_AdvertisingCostsPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">Allowance for doubtful accounts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="label: AllowanceForDoubtfulAccountsReceivableCurrent to us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl1" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl1">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl1" xlink:title="label: AllowanceForDoubtfulAccountsReceivableCurrent to us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="AmortizationOfIntangibleAssets" xlink:title="AmortizationOfIntangibleAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AmortizationOfIntangibleAssets" xml:lang="en-US" id="us-gaap_AmortizationOfIntangibleAssets">Amortization of intangible assets (excluding goodwill)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:title="label: AmortizationOfIntangibleAssets to us-gaap_AmortizationOfIntangibleAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AmortizationOfIntangibleAssets_lbl1" xml:lang="en-US" id="us-gaap_AmortizationOfIntangibleAssets_lbl1">Amortization of Intangible Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl1" xlink:title="label: AmortizationOfIntangibleAssets to us-gaap_AmortizationOfIntangibleAssets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember" xlink:label="RestrictedStockMember" xlink:title="RestrictedStockMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RestrictedStockMember" xml:lang="en-US" id="us-gaap_RestrictedStockMember">Restricted Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockMember" xlink:to="us-gaap_RestrictedStockMember" xlink:title="label: RestrictedStockMember to us-gaap_RestrictedStockMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentChargesAbstract" xlink:label="AssetImpairmentChargesAbstract" xlink:title="AssetImpairmentChargesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetImpairmentChargesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetImpairmentChargesAbstract" xml:lang="en-US" id="us-gaap_AssetImpairmentChargesAbstract">Impairment of long-lived assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetImpairmentChargesAbstract" xlink:to="us-gaap_AssetImpairmentChargesAbstract" xlink:title="label: AssetImpairmentChargesAbstract to us-gaap_AssetImpairmentChargesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfFinancialPositionAbstract" xml:lang="en-US" id="us-gaap_StatementOfFinancialPositionAbstract">Condensed Consolidated Balance Sheets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract" xlink:title="label: StatementOfFinancialPositionAbstract to us-gaap_StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EarningsPerShareBasic" xml:lang="en-US" id="us-gaap_EarningsPerShareBasic">Basic (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic" xlink:title="label: EarningsPerShareBasic to us-gaap_EarningsPerShareBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareBasic_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerShareBasic_lbl1">Earnings Per Share, Basic</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl1" xlink:title="label: EarningsPerShareBasic to us-gaap_EarningsPerShareBasic_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingMember" xlink:label="BuildingMember" xlink:title="BuildingMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BuildingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BuildingMember" xml:lang="en-US" id="us-gaap_BuildingMember">Building [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BuildingMember" xlink:to="us-gaap_BuildingMember" xlink:title="label: BuildingMember to us-gaap_BuildingMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CashAndCashEquivalentsAtCarryingValue" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsAtCarryingValue">Cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:title="label: CashAndCashEquivalentsAtCarryingValue to us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl1" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl1">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl1" xlink:title="label: CashAndCashEquivalentsAtCarryingValue to us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="CashAndCashEquivalentsPolicyTextBlock" xlink:title="CashAndCashEquivalentsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsPolicyTextBlock">Cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:title="label: CashAndCashEquivalentsPolicyTextBlock to us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="InterestPaidNet" xlink:title="InterestPaidNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InterestPaidNet" xml:lang="en-US" id="us-gaap_InterestPaidNet">Interest paid during the period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestPaidNet" xlink:to="us-gaap_InterestPaidNet" xlink:title="label: InterestPaidNet to us-gaap_InterestPaidNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="IncreaseDecreaseInAccountsReceivable" xlink:title="IncreaseDecreaseInAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInAccountsReceivable" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsReceivable">Accounts receivable-trade</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:title="label: IncreaseDecreaseInAccountsReceivable to us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1">Increase (Decrease) in Accounts Receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" xlink:title="label: IncreaseDecreaseInAccountsReceivable to us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInInventories" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInInventories">Inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:title="label: IncreaseDecreaseInInventories to us-gaap_IncreaseDecreaseInInventories" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInInventories_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInInventories_lbl1">Increase (Decrease) in Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl1" xlink:title="label: IncreaseDecreaseInInventories to us-gaap_IncreaseDecreaseInInventories_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="IncreaseDecreaseInPrepaidExpense" xlink:title="IncreaseDecreaseInPrepaidExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInPrepaidExpense" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInPrepaidExpense">Prepaid expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:title="label: IncreaseDecreaseInPrepaidExpense to us-gaap_IncreaseDecreaseInPrepaidExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl1">Increase (Decrease) in Prepaid Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl1" xlink:title="label: IncreaseDecreaseInPrepaidExpense to us-gaap_IncreaseDecreaseInPrepaidExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">Changes in operating assets and liabilities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="label: IncreaseDecreaseInOperatingCapitalAbstract to us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl1">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl1" xlink:title="label: IncreaseDecreaseInOperatingCapitalAbstract to us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInAccountsPayable" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsPayable">Accounts payable-trade</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:title="label: IncreaseDecreaseInAccountsPayable to us-gaap_IncreaseDecreaseInAccountsPayable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1">Increase (Decrease) in Accounts Payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xlink:title="label: IncreaseDecreaseInAccountsPayable to us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="IncreaseDecreaseInAccruedLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInAccruedLiabilities" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccruedLiabilities">Accrued expenses and other liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:title="label: IncreaseDecreaseInAccruedLiabilities to us-gaap_IncreaseDecreaseInAccruedLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl1">Increase (Decrease) in Accrued Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl1" xlink:title="label: IncreaseDecreaseInAccruedLiabilities to us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="CommitmentsAndContingenciesDisclosureTextBlock" xlink:title="CommitmentsAndContingenciesDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xml:lang="en-US" id="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">COMMITMENTS AND CONTINGENCIES</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:title="label: CommitmentsAndContingenciesDisclosureTextBlock to us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl1">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl1" xlink:title="label: CommitmentsAndContingenciesDisclosureTextBlock to us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="CommonStockSharesAuthorized" xlink:title="CommonStockSharesAuthorized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesAuthorized" xml:lang="en-US" id="us-gaap_CommonStockSharesAuthorized">Common stock, shares authorized (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:title="label: CommonStockSharesAuthorized to us-gaap_CommonStockSharesAuthorized" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesIssued" xml:lang="en-US" id="us-gaap_CommonStockSharesIssued">Common stock, shares issued (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued" xlink:title="label: CommonStockSharesIssued to us-gaap_CommonStockSharesIssued" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="CommonStockSharesOutstanding" xlink:title="CommonStockSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesOutstanding" xml:lang="en-US" id="us-gaap_CommonStockSharesOutstanding">Common stock, shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:title="label: CommonStockSharesOutstanding to us-gaap_CommonStockSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockValue" xml:lang="en-US" id="us-gaap_CommonStockValue">Common stock, $0.0024 par value; 25,000,000 shares authorized; 9,823,621 and 9,717,525 shares issued at December 31, 2023 and December 31, 2022, respectively; 8,399,245 and 8,293,150 shares outstanding at December 31, 2023 and December 31, 2022, respectively</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockValue" xlink:to="us-gaap_CommonStockValue" xlink:title="label: CommonStockValue to us-gaap_CommonStockValue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="ConcentrationRiskDisclosureTextBlock" xlink:title="ConcentrationRiskDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskDisclosureTextBlock" xml:lang="en-US" id="us-gaap_ConcentrationRiskDisclosureTextBlock">SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskDisclosureTextBlock" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:title="label: ConcentrationRiskDisclosureTextBlock to us-gaap_ConcentrationRiskDisclosureTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskByTypeAxis" xml:lang="en-US" id="us-gaap_ConcentrationRiskByTypeAxis">Concentration Risk Type [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:title="label: ConcentrationRiskByTypeAxis to us-gaap_ConcentrationRiskByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="ConcentrationRiskLineItems" xlink:title="ConcentrationRiskLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskLineItems" xml:lang="en-US" id="us-gaap_ConcentrationRiskLineItems">Concentration Risk [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems" xlink:title="label: ConcentrationRiskLineItems to us-gaap_ConcentrationRiskLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="ConcentrationRiskTable" xlink:title="ConcentrationRiskTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskTable" xml:lang="en-US" id="us-gaap_ConcentrationRiskTable">Concentration Risk [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable" xlink:title="label: ConcentrationRiskTable to us-gaap_ConcentrationRiskTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskTypeDomain" xml:lang="en-US" id="us-gaap_ConcentrationRiskTypeDomain">Concentration Risk Type [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:title="label: ConcentrationRiskTypeDomain to us-gaap_ConcentrationRiskTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="CostOfGoodsAndServicesSold" xlink:title="CostOfGoodsAndServicesSold" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CostOfGoodsAndServicesSold" xml:lang="en-US" id="us-gaap_CostOfGoodsAndServicesSold">Cost of sales</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:title="label: CostOfGoodsAndServicesSold to us-gaap_CostOfGoodsAndServicesSold" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:label="CostOfGoodsAndServicesSoldDepreciation" xlink:title="CostOfGoodsAndServicesSoldDepreciation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CostOfGoodsAndServicesSoldDepreciation" xml:lang="en-US" id="us-gaap_CostOfGoodsAndServicesSoldDepreciation">Depreciation and amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CostOfGoodsAndServicesSoldDepreciation" xlink:to="us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:title="label: CostOfGoodsAndServicesSoldDepreciation to us-gaap_CostOfGoodsAndServicesSoldDepreciation" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="CurrentFederalTaxExpenseBenefit" xlink:title="CurrentFederalTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentFederalTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_CurrentFederalTaxExpenseBenefit">Federal</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:title="label: CurrentFederalTaxExpenseBenefit to us-gaap_CurrentFederalTaxExpenseBenefit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="CurrentForeignTaxExpenseBenefit" xlink:title="CurrentForeignTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentForeignTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_CurrentForeignTaxExpenseBenefit">Foreign</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentForeignTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:title="label: CurrentForeignTaxExpenseBenefit to us-gaap_CurrentForeignTaxExpenseBenefit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="CurrentIncomeTaxExpenseBenefit" xlink:title="CurrentIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_CurrentIncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_CurrentIncomeTaxExpenseBenefit">Total current provision</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:title="label: CurrentIncomeTaxExpenseBenefit to us-gaap_CurrentIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1">Current Income Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1" xlink:title="label: CurrentIncomeTaxExpenseBenefit to us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesCurrent" xml:lang="en-US" id="us-gaap_LiabilitiesCurrent">Total current liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent" xlink:title="label: LiabilitiesCurrent to us-gaap_LiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesCurrent_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesCurrent_lbl1">Liabilities, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl1" xlink:title="label: LiabilitiesCurrent to us-gaap_LiabilitiesCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="LiabilitiesCurrentAbstract" xlink:title="LiabilitiesCurrentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesCurrentAbstract" xml:lang="en-US" id="us-gaap_LiabilitiesCurrentAbstract">CURRENT LIABILITIES:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:title="label: LiabilitiesCurrentAbstract to us-gaap_LiabilitiesCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="CurrentStateAndLocalTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_CurrentStateAndLocalTaxExpenseBenefit">State</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:title="label: CurrentStateAndLocalTaxExpenseBenefit to us-gaap_CurrentStateAndLocalTaxExpenseBenefit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="CustomerConcentrationRiskMember" xlink:title="CustomerConcentrationRiskMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CustomerConcentrationRiskMember" xml:lang="en-US" id="us-gaap_CustomerConcentrationRiskMember">Customer Concentration Risk [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:title="label: CustomerConcentrationRiskMember to us-gaap_CustomerConcentrationRiskMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="DebtDisclosureTextBlock" xlink:title="DebtDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtDisclosureTextBlock" xml:lang="en-US" id="us-gaap_DebtDisclosureTextBlock">NOTES PAYABLE AND LONG-TERM DEBT</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock" xlink:title="label: DebtDisclosureTextBlock to us-gaap_DebtDisclosureTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentNameDomain" xml:lang="en-US" id="us-gaap_DebtInstrumentNameDomain">Debt Instrument, Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:title="label: DebtInstrumentNameDomain to us-gaap_DebtInstrumentNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentsAbstract" xlink:label="DebtInstrumentsAbstract" xlink:title="DebtInstrumentsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentsAbstract" xml:lang="en-US" id="us-gaap_DebtInstrumentsAbstract">Debt Instruments [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentsAbstract" xlink:to="us-gaap_DebtInstrumentsAbstract" xlink:title="label: DebtInstrumentsAbstract to us-gaap_DebtInstrumentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentAxis" xml:lang="en-US" id="us-gaap_DebtInstrumentAxis">Debt Instrument [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis" xlink:title="label: DebtInstrumentAxis to us-gaap_DebtInstrumentAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentLineItems" xml:lang="en-US" id="us-gaap_DebtInstrumentLineItems">Debt Instrument [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems" xlink:title="label: DebtInstrumentLineItems to us-gaap_DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentTable" xml:lang="en-US" id="us-gaap_DebtInstrumentTable">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable" xlink:title="label: DebtInstrumentTable to us-gaap_DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="DeferredFederalIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_DeferredFederalIncomeTaxExpenseBenefit">Federal</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:title="label: DeferredFederalIncomeTaxExpenseBenefit to us-gaap_DeferredFederalIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl1">Deferred Federal Income Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl1" xlink:title="label: DeferredFederalIncomeTaxExpenseBenefit to us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="DeferredForeignIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_DeferredForeignIncomeTaxExpenseBenefit">Foreign</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredForeignIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:title="label: DeferredForeignIncomeTaxExpenseBenefit to us-gaap_DeferredForeignIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl1">Deferred Foreign Income Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredForeignIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl1" xlink:title="label: DeferredForeignIncomeTaxExpenseBenefit to us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredIncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxExpenseBenefit">Total deferred provision (benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:title="label: DeferredIncomeTaxExpenseBenefit to us-gaap_DeferredIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl1">Deferred Income Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl1" xlink:title="label: DeferredIncomeTaxExpenseBenefit to us-gaap_DeferredIncomeTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="DeferredIncomeTaxLiabilities" xlink:title="DeferredIncomeTaxLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredIncomeTaxLiabilities" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxLiabilities">Total deferred income tax liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" xlink:title="label: DeferredIncomeTaxLiabilities to us-gaap_DeferredIncomeTaxLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxLiabilities_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxLiabilities_lbl1">Deferred Tax Liabilities, Gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl1" xlink:title="label: DeferredIncomeTaxLiabilities to us-gaap_DeferredIncomeTaxLiabilities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">State</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="label: DeferredStateAndLocalIncomeTaxExpenseBenefit to us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl1">Deferred State and Local Income Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl1" xlink:title="label: DeferredStateAndLocalIncomeTaxExpenseBenefit to us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="DeferredTaxAssetsGrossAbstract" xlink:title="DeferredTaxAssetsGrossAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsGrossAbstract" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsGrossAbstract">Deferred income tax assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:title="label: DeferredTaxAssetsGrossAbstract to us-gaap_DeferredTaxAssetsGrossAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="DeferredTaxAssetsGross" xlink:title="DeferredTaxAssetsGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsGross" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredTaxAssetsGross" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsGross">Total deferred income tax assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross" xlink:title="label: DeferredTaxAssetsGross to us-gaap_DeferredTaxAssetsGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsGross_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsGross_lbl1">Deferred Tax Assets, Gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl1" xlink:title="label: DeferredTaxAssetsGross to us-gaap_DeferredTaxAssetsGross_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="DeferredTaxAssetsInventory" xlink:title="DeferredTaxAssetsInventory" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxAssetsInventory" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsInventory">Inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory" xlink:title="label: DeferredTaxAssetsInventory to us-gaap_DeferredTaxAssetsInventory" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsInventory_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsInventory_lbl1">Deferred Tax Assets, Inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory_lbl1" xlink:title="label: DeferredTaxAssetsInventory to us-gaap_DeferredTaxAssetsInventory_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="DeferredTaxAssetsLiabilitiesNet" xlink:title="DeferredTaxAssetsLiabilitiesNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredTaxAssetsLiabilitiesNet" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsLiabilitiesNet">Net deferred tax asset (liability)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:title="label: DeferredTaxAssetsLiabilitiesNet to us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1">Deferred Tax Assets, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1" xlink:title="label: DeferredTaxAssetsLiabilitiesNet to us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="DeferredTaxAssetsNet" xlink:title="DeferredTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredTaxAssetsNet" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsNet">Total deferred income tax assets, net of valuation allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet" xlink:title="label: DeferredTaxAssetsNet to us-gaap_DeferredTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsNet_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsNet_lbl1">Deferred Tax Assets, Net of Valuation Allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl1" xlink:title="label: DeferredTaxAssetsNet to us-gaap_DeferredTaxAssetsNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="DeferredTaxAssetsOperatingLossCarryforwards" xlink:title="DeferredTaxAssetsOperatingLossCarryforwards" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">Net operating losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:title="label: DeferredTaxAssetsOperatingLossCarryforwards to us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsForeign" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign">Foreign tax net operating loss carryovers</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="label: DeferredTaxAssetsOperatingLossCarryforwardsForeign to us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl1">Deferred Tax Assets, Operating Loss Carryforwards, Foreign</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl1" xlink:title="label: DeferredTaxAssetsOperatingLossCarryforwardsForeign to us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal">State net operating loss carryovers</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:title="label: DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal to us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal_lbl1">Deferred Tax Assets, Operating Loss Carryforwards, State and Local</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal_lbl1" xlink:title="label: DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal to us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">Stock-based compensation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost to us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl1">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl1" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost to us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">Accrued expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities to us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent">Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent to us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent_lbl1">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Deferred Rent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent_lbl1" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent to us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances">Sales returns</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances to us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:title="DeferredTaxAssetsUnrealizedCurrencyLosses" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses">Foreign currency translation gain/loss in OCI</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:title="label: DeferredTaxAssetsUnrealizedCurrencyLosses to us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl1">Deferred Tax Assets, Unrealized Currency Losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl1" xlink:title="label: DeferredTaxAssetsUnrealizedCurrencyLosses to us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="DeferredTaxAssetsValuationAllowance" xlink:title="DeferredTaxAssetsValuationAllowance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_DeferredTaxAssetsValuationAllowance" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsValuationAllowance">Less: valuation allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:title="label: DeferredTaxAssetsValuationAllowance to us-gaap_DeferredTaxAssetsValuationAllowance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsValuationAllowance_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsValuationAllowance_lbl1">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl1" xlink:title="label: DeferredTaxAssetsValuationAllowance to us-gaap_DeferredTaxAssetsValuationAllowance_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="DeferredTaxLiabilitiesAbstract" xlink:title="DeferredTaxLiabilitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxLiabilitiesAbstract" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesAbstract">Deferred income tax liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:title="label: DeferredTaxLiabilitiesAbstract to us-gaap_DeferredTaxLiabilitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="DefinedContributionPlanCostRecognized" xlink:title="DefinedContributionPlanCostRecognized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DefinedContributionPlanCostRecognized" xml:lang="en-US" id="us-gaap_DefinedContributionPlanCostRecognized">Defined contribution plan, employer match expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedContributionPlanCostRecognized" xlink:to="us-gaap_DefinedContributionPlanCostRecognized" xlink:title="label: DefinedContributionPlanCostRecognized to us-gaap_DefinedContributionPlanCostRecognized" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareDiluted" xml:lang="en-US" id="us-gaap_EarningsPerShareDiluted">Diluted (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:title="label: EarningsPerShareDiluted to us-gaap_EarningsPerShareDiluted" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="ConsolidationPolicyTextBlock" xlink:title="ConsolidationPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConsolidationPolicyTextBlock" xml:lang="en-US" id="us-gaap_ConsolidationPolicyTextBlock">Principles of consolidation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock" xlink:title="label: ConsolidationPolicyTextBlock to us-gaap_ConsolidationPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">Income (loss) before income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl1" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl1">Income (Loss) from Continuing Operations before Income Taxes, Domestic</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl1" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">Income (loss) before income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl1" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl1">Income (Loss) from Continuing Operations before Income Taxes, Foreign</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl1" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateContinuingOperations">Effective rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:title="label: EffectiveIncomeTaxRateContinuingOperations to us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl1">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl1" xlink:title="label: EffectiveIncomeTaxRateContinuingOperations to us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">Change in valuation allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="label: EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance to us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">Statutory rate - Federal U.S. income tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="label: EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate to us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate to us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">Other, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="label: EffectiveIncomeTaxRateReconciliationOtherAdjustments to us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationOtherAdjustments to us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">State and local taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="label: EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes to us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl1">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes to us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:title="EffectiveIncomeTaxRateReconciliationTaxCredits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits">Income tax credits</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:title="label: EffectiveIncomeTaxRateReconciliationTaxCredits to us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl1">Effective Income Tax Rate Reconciliation, Tax Credit, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationTaxCredits to us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AllocatedShareBasedCompensationExpense" xml:lang="en-US" id="us-gaap_AllocatedShareBasedCompensationExpense">Stock-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:title="label: AllocatedShareBasedCompensationExpense to us-gaap_AllocatedShareBasedCompensationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllocatedShareBasedCompensationExpense_lbl1" xml:lang="en-US" id="us-gaap_AllocatedShareBasedCompensationExpense_lbl1">Share-Based Payment Arrangement, Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl1" xlink:title="label: AllocatedShareBasedCompensationExpense to us-gaap_AllocatedShareBasedCompensationExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensation" xml:lang="en-US" id="us-gaap_ShareBasedCompensation">Stock-based compensation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation" xlink:title="label: ShareBasedCompensation to us-gaap_ShareBasedCompensation" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="ShareBasedCompensationAbstract" xlink:title="ShareBasedCompensationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationAbstract" xml:lang="en-US" id="us-gaap_ShareBasedCompensationAbstract">Share-based Compensation Expense [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationAbstract" xlink:to="us-gaap_ShareBasedCompensationAbstract" xlink:title="label: ShareBasedCompensationAbstract to us-gaap_ShareBasedCompensationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:label="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:title="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xml:lang="en-US" id="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems">Error Corrections and Prior Period Adjustments Restatement [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:title="label: ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems to us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:label="ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:title="ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xml:lang="en-US" id="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable">Schedule of Error Corrections and Prior Period Adjustment Restatement [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:title="label: ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable to us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="FairValueOfFinancialInstrumentsPolicy" xlink:title="FairValueOfFinancialInstrumentsPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FairValueOfFinancialInstrumentsPolicy" xml:lang="en-US" id="us-gaap_FairValueOfFinancialInstrumentsPolicy">Fair value of financial instruments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:title="label: FairValueOfFinancialInstrumentsPolicy to us-gaap_FairValueOfFinancialInstrumentsPolicy" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="label: FiniteLivedIntangibleAssetsMajorClassNameDomain to us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="label: FiniteLivedIntangibleAssetsByMajorClassAxis to us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="FiniteLivedIntangibleAssetsLineItems" xlink:title="FiniteLivedIntangibleAssetsLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsLineItems" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsLineItems">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:title="label: FiniteLivedIntangibleAssetsLineItems to us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">Foreign currency translation and transactions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="label: ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock to us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="FurnitureAndFixturesMember" xlink:title="FurnitureAndFixturesMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FurnitureAndFixturesMember" xml:lang="en-US" id="us-gaap_FurnitureAndFixturesMember">Furniture and Fixtures [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember" xlink:title="label: FurnitureAndFixturesMember to us-gaap_FurnitureAndFixturesMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:label="IntangibleAssetsFiniteLivedPolicy" xlink:title="IntangibleAssetsFiniteLivedPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IntangibleAssetsFiniteLivedPolicy" xml:lang="en-US" id="us-gaap_IntangibleAssetsFiniteLivedPolicy">Other intangible assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntangibleAssetsFiniteLivedPolicy" xlink:to="us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:title="label: IntangibleAssetsFiniteLivedPolicy to us-gaap_IntangibleAssetsFiniteLivedPolicy" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_GrossProfit" xml:lang="en-US" id="us-gaap_GrossProfit">Gross profit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GrossProfit" xlink:to="us-gaap_GrossProfit" xlink:title="label: GrossProfit to us-gaap_GrossProfit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GrossProfit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GrossProfit_lbl1" xml:lang="en-US" id="us-gaap_GrossProfit_lbl1">Gross Profit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GrossProfit" xlink:to="us-gaap_GrossProfit_lbl1" xlink:title="label: GrossProfit to us-gaap_GrossProfit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:label="ImpairmentOfLongLivedAssetsHeldForUse" xlink:title="ImpairmentOfLongLivedAssetsHeldForUse" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xml:lang="en-US" id="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse">Impairment losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ImpairmentOfLongLivedAssetsHeldForUse" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:title="label: ImpairmentOfLongLivedAssetsHeldForUse to us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_lbl1" xml:lang="en-US" id="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_lbl1">Impairment, Long-Lived Asset, Held-for-Use</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ImpairmentOfLongLivedAssetsHeldForUse" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_lbl1" xlink:title="label: ImpairmentOfLongLivedAssetsHeldForUse to us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:title="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xml:lang="en-US" id="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">Impairment of long-lived assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:title="label: ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock to us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl1">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl1" xlink:title="label: ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock to us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" xlink:title="IncomeStatementAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeStatementAbstract" xml:lang="en-US" id="us-gaap_IncomeStatementAbstract">Condensed Consolidated Statements of Operations and Comprehensive Income [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract" xlink:title="label: IncomeStatementAbstract to us-gaap_IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="IncomeTaxDisclosureTextBlock" xlink:title="IncomeTaxDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncomeTaxDisclosureTextBlock" xml:lang="en-US" id="us-gaap_IncomeTaxDisclosureTextBlock">INCOME TAXES</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:title="label: IncomeTaxDisclosureTextBlock to us-gaap_IncomeTaxDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_IncomeTaxDisclosureTextBlock_lbl1">Income Tax Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl1" xlink:title="label: IncomeTaxDisclosureTextBlock to us-gaap_IncomeTaxDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="IncomeTaxPolicyTextBlock" xlink:title="IncomeTaxPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxPolicyTextBlock" xml:lang="en-US" id="us-gaap_IncomeTaxPolicyTextBlock">Income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" xlink:title="label: IncomeTaxPolicyTextBlock to us-gaap_IncomeTaxPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="IncomeTaxesPaidNet" xlink:title="IncomeTaxesPaidNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxesPaidNet" xml:lang="en-US" id="us-gaap_IncomeTaxesPaidNet">Income tax paid (refunded) during the period, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet" xlink:title="label: IncomeTaxesPaidNet to us-gaap_IncomeTaxesPaidNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="IncomeTaxesReceivable" xlink:title="IncomeTaxesReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxesReceivable" xml:lang="en-US" id="us-gaap_IncomeTaxesReceivable">Income tax receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxesReceivable" xlink:to="us-gaap_IncomeTaxesReceivable" xlink:title="label: IncomeTaxesReceivable to us-gaap_IncomeTaxesReceivable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:label="IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:title="IncrementalCommonSharesAttributableToContingentlyIssuableShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xml:lang="en-US" id="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares">Shares excluded from the diluted EPS calculation (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:to="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:title="label: IncrementalCommonSharesAttributableToContingentlyIssuableShares to us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares_lbl1" xml:lang="en-US" id="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares_lbl1">Incremental Common Shares Attributable to Dilutive Effect of Contingently Issuable Shares</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:to="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares_lbl1" xlink:title="label: IncrementalCommonSharesAttributableToContingentlyIssuableShares to us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xml:lang="en-US" id="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">Dilutive effect of service-based restricted stock awards granted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="label: IncrementalCommonSharesAttributableToShareBasedPaymentArrangements to us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="FiniteLivedIntangibleAssetsNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsNetAbstract">Other Intangible Assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:title="label: FiniteLivedIntangibleAssetsNetAbstract to us-gaap_FiniteLivedIntangibleAssetsNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:label="UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:title="UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense">Related to UTP</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:title="label: UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense to us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl1" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl1">Unrecognized Tax Benefits, Interest on Income Taxes Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl1" xlink:title="label: UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense to us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="InventoryFinishedGoods" xlink:title="InventoryFinishedGoods" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoods" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryFinishedGoods" xml:lang="en-US" id="us-gaap_InventoryFinishedGoods">Finished goods held for sale</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods" xlink:title="label: InventoryFinishedGoods to us-gaap_InventoryFinishedGoods" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryNet" xml:lang="en-US" id="us-gaap_InventoryNet">Inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryNet" xlink:title="label: InventoryNet to us-gaap_InventoryNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryNet1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_InventoryNet1" xml:lang="en-US" id="us-gaap_InventoryNet1">Total inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryNet1" xlink:title="label: InventoryNet to us-gaap_InventoryNet1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNetAbstract" xlink:label="InventoryNetAbstract" xlink:title="InventoryNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryNetAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryNetAbstract" xml:lang="en-US" id="us-gaap_InventoryNetAbstract">Inventory on hand [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryNetAbstract" xlink:to="us-gaap_InventoryNetAbstract" xlink:title="label: InventoryNetAbstract to us-gaap_InventoryNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherInventoryInTransit" xlink:label="OtherInventoryInTransit" xlink:title="OtherInventoryInTransit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherInventoryInTransit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherInventoryInTransit" xml:lang="en-US" id="us-gaap_OtherInventoryInTransit">Inventory in transit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherInventoryInTransit" xlink:to="us-gaap_OtherInventoryInTransit" xlink:title="label: OtherInventoryInTransit to us-gaap_OtherInventoryInTransit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="InventoryPolicyTextBlock" xlink:title="InventoryPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_InventoryPolicyTextBlock" xml:lang="en-US" id="us-gaap_InventoryPolicyTextBlock">Inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock" xlink:title="label: InventoryPolicyTextBlock to us-gaap_InventoryPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_InventoryPolicyTextBlock_lbl1">Inventory, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl1" xlink:title="label: InventoryPolicyTextBlock to us-gaap_InventoryPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandMember" xlink:label="LandMember" xlink:title="LandMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LandMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LandMember" xml:lang="en-US" id="us-gaap_LandMember">Land [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LandMember" xlink:to="us-gaap_LandMember" xlink:title="label: LandMember to us-gaap_LandMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="LeaseholdImprovementsMember" xlink:title="LeaseholdImprovementsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LeaseholdImprovementsMember" xml:lang="en-US" id="us-gaap_LeaseholdImprovementsMember">Leasehold Improvements [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:title="label: LeaseholdImprovementsMember to us-gaap_LeaseholdImprovementsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAbstract" xlink:label="LiabilitiesAbstract" xlink:title="LiabilitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesAbstract" xml:lang="en-US" id="us-gaap_LiabilitiesAbstract">Liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAbstract" xlink:to="us-gaap_LiabilitiesAbstract" xlink:title="label: LiabilitiesAbstract to us-gaap_LiabilitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesAndStockholdersEquity" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquity">TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" xlink:title="label: LiabilitiesAndStockholdersEquity to us-gaap_LiabilitiesAndStockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquity_lbl1">Liabilities and Equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xlink:title="label: LiabilitiesAndStockholdersEquity to us-gaap_LiabilitiesAndStockholdersEquity_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquityAbstract">LIABILITIES AND STOCKHOLDERS' EQUITY</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:title="label: LiabilitiesAndStockholdersEquityAbstract to us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="LineOfCreditFacilityLenderDomain" xlink:title="LineOfCreditFacilityLenderDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityLenderDomain" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityLenderDomain">Line of Credit Facility, Lender [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityLenderDomain" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:title="label: LineOfCreditFacilityLenderDomain to us-gaap_LineOfCreditFacilityLenderDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">Line of credit facility, maximum borrowing capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="label: LineOfCreditFacilityMaximumBorrowingCapacity to us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="LineOfCreditFacilityAxis" xlink:title="LineOfCreditFacilityAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityAxis" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityAxis">Lender Name [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:title="label: LineOfCreditFacilityAxis to us-gaap_LineOfCreditFacilityAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_MachineryAndEquipmentMember" xml:lang="en-US" id="us-gaap_MachineryAndEquipmentMember">Equipment and Machinery [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:title="label: MachineryAndEquipmentMember to us-gaap_MachineryAndEquipmentMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivities" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivities">Net cash used in financing activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:title="label: NetCashProvidedByUsedInFinancingActivities to us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInFinancingActivities to us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">Cash flows from financing activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="label: NetCashProvidedByUsedInFinancingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivities" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivities">Net cash used in investing activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:title="label: NetCashProvidedByUsedInInvestingActivities to us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInInvestingActivities to us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">Cash flows from investing activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="label: NetCashProvidedByUsedInInvestingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivities" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivities">Net cash provided by operating activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:title="label: NetCashProvidedByUsedInOperatingActivities to us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInOperatingActivities to us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">Cash flows from operating activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="label: NetCashProvidedByUsedInOperatingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetIncomeLoss" xml:lang="en-US" id="us-gaap_NetIncomeLoss">Net Income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NetIncomeLoss1" xml:lang="en-US" id="us-gaap_NetIncomeLoss1">Net income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss1" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss2" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_NetIncomeLoss2" xml:lang="en-US" id="us-gaap_NetIncomeLoss2">Net income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss2" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss2" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetIncomeLoss_lbl3" xml:lang="en-US" id="us-gaap_NetIncomeLoss_lbl3">Net Income (Loss) Attributable to Parent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl3" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss_lbl3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="InterestIncomeExpenseNet" xlink:title="InterestIncomeExpenseNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_InterestIncomeExpenseNet" xml:lang="en-US" id="us-gaap_InterestIncomeExpenseNet">Interest income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestIncomeExpenseNet" xlink:to="us-gaap_InterestIncomeExpenseNet" xlink:title="label: InterestIncomeExpenseNet to us-gaap_InterestIncomeExpenseNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestIncomeExpenseNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InterestIncomeExpenseNet_lbl1" xml:lang="en-US" id="us-gaap_InterestIncomeExpenseNet_lbl1">Interest Income (Expense), Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestIncomeExpenseNet" xlink:to="us-gaap_InterestIncomeExpenseNet_lbl1" xlink:title="label: InterestIncomeExpenseNet to us-gaap_InterestIncomeExpenseNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:title="us-gaap_NonoperatingIncomeExpense" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpense">Total other income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense" xlink:title="label: NonoperatingIncomeExpense to us-gaap_NonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NonoperatingIncomeExpense_lbl1" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpense_lbl1">Nonoperating Income (Expense)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl1" xlink:title="label: NonoperatingIncomeExpense to us-gaap_NonoperatingIncomeExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketingAndAdvertisingExpenseAbstract" xlink:label="MarketingAndAdvertisingExpenseAbstract" xlink:title="MarketingAndAdvertisingExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MarketingAndAdvertisingExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_MarketingAndAdvertisingExpenseAbstract" xml:lang="en-US" id="us-gaap_MarketingAndAdvertisingExpenseAbstract">Advertising [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MarketingAndAdvertisingExpenseAbstract" xlink:to="us-gaap_MarketingAndAdvertisingExpenseAbstract" xlink:title="label: MarketingAndAdvertisingExpenseAbstract to us-gaap_MarketingAndAdvertisingExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MarketingAndAdvertisingExpenseAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_MarketingAndAdvertisingExpenseAbstract_lbl1" xml:lang="en-US" id="us-gaap_MarketingAndAdvertisingExpenseAbstract_lbl1">Marketing and Advertising Expense [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MarketingAndAdvertisingExpenseAbstract" xlink:to="us-gaap_MarketingAndAdvertisingExpenseAbstract_lbl1" xlink:title="label: MarketingAndAdvertisingExpenseAbstract to us-gaap_MarketingAndAdvertisingExpenseAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_OperatingIncomeLoss" xml:lang="en-US" id="us-gaap_OperatingIncomeLoss">Income from operations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss" xlink:title="label: OperatingIncomeLoss to us-gaap_OperatingIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingIncomeLoss_lbl1" xml:lang="en-US" id="us-gaap_OperatingIncomeLoss_lbl1">Operating Income (Loss)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl1" xlink:title="label: OperatingIncomeLoss to us-gaap_OperatingIncomeLoss_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLossAbstract" xlink:label="OperatingIncomeLossAbstract" xlink:title="OperatingIncomeLossAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLossAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingIncomeLossAbstract" xml:lang="en-US" id="us-gaap_OperatingIncomeLossAbstract">Other income:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingIncomeLossAbstract" xlink:to="us-gaap_OperatingIncomeLossAbstract" xlink:title="label: OperatingIncomeLossAbstract to us-gaap_OperatingIncomeLossAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherAssetsCurrent" xml:lang="en-US" id="us-gaap_OtherAssetsCurrent">Other current assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent" xlink:title="label: OtherAssetsCurrent to us-gaap_OtherAssetsCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_OtherNonoperatingIncomeExpense" xml:lang="en-US" id="us-gaap_OtherNonoperatingIncomeExpense">Other, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:title="label: OtherNonoperatingIncomeExpense to us-gaap_OtherNonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherNonoperatingIncomeExpense_lbl1" xml:lang="en-US" id="us-gaap_OtherNonoperatingIncomeExpense_lbl1">Other Nonoperating Income (Expense)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl1" xlink:title="label: OtherNonoperatingIncomeExpense to us-gaap_OtherNonoperatingIncomeExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:label="PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:title="PensionAndOtherPostretirementBenefitExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PensionAndOtherPostretirementBenefitExpenseAbstract" xml:lang="en-US" id="us-gaap_PensionAndOtherPostretirementBenefitExpenseAbstract">Pension and Other Postretirement Benefits Cost [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:title="label: PensionAndOtherPostretirementBenefitExpenseAbstract to us-gaap_PensionAndOtherPostretirementBenefitExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:title="PensionAndOtherPostretirementBenefitsDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xml:lang="en-US" id="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">EMPLOYEE BENEFIT AND SAVINGS PLANS</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:title="label: PensionAndOtherPostretirementBenefitsDisclosureTextBlock to us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="DefinedBenefitPlanDisclosureLineItems" xlink:title="DefinedBenefitPlanDisclosureLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DefinedBenefitPlanDisclosureLineItems" xml:lang="en-US" id="us-gaap_DefinedBenefitPlanDisclosureLineItems">Defined Benefit Plan Disclosure [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:title="label: DefinedBenefitPlanDisclosureLineItems to us-gaap_DefinedBenefitPlanDisclosureLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="PrepaidExpenseCurrent" xlink:title="PrepaidExpenseCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PrepaidExpenseCurrent" xml:lang="en-US" id="us-gaap_PrepaidExpenseCurrent">Prepaid expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PrepaidExpenseCurrent" xlink:to="us-gaap_PrepaidExpenseCurrent" xlink:title="label: PrepaidExpenseCurrent to us-gaap_PrepaidExpenseCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="ProceedsFromLinesOfCredit" xlink:title="ProceedsFromLinesOfCredit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProceedsFromLinesOfCredit" xml:lang="en-US" id="us-gaap_ProceedsFromLinesOfCredit">Line of credit facility, funds borrowed</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromLinesOfCredit" xlink:to="us-gaap_ProceedsFromLinesOfCredit" xlink:title="label: ProceedsFromLinesOfCredit to us-gaap_ProceedsFromLinesOfCredit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="ProceedsFromIssuanceOfLongTermDebt" xlink:title="ProceedsFromIssuanceOfLongTermDebt" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xml:lang="en-US" id="us-gaap_ProceedsFromIssuanceOfLongTermDebt">Proceeds from long-term debt</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromIssuanceOfLongTermDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:title="label: ProceedsFromIssuanceOfLongTermDebt to us-gaap_ProceedsFromIssuanceOfLongTermDebt" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:label="ProceedsFromSaleOfProductiveAssets" xlink:title="ProceedsFromSaleOfProductiveAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_ProceedsFromSaleOfProductiveAssets" xml:lang="en-US" id="us-gaap_ProceedsFromSaleOfProductiveAssets">Proceeds from sales of assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromSaleOfProductiveAssets" xlink:to="us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:title="label: ProceedsFromSaleOfProductiveAssets to us-gaap_ProceedsFromSaleOfProductiveAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromSaleOfProductiveAssets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProceedsFromSaleOfProductiveAssets_lbl1" xml:lang="en-US" id="us-gaap_ProceedsFromSaleOfProductiveAssets_lbl1">Proceeds from Sale of Productive Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromSaleOfProductiveAssets" xlink:to="us-gaap_ProceedsFromSaleOfProductiveAssets_lbl1" xlink:title="label: ProceedsFromSaleOfProductiveAssets to us-gaap_ProceedsFromSaleOfProductiveAssets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentGross" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentGross">Property and equipment, at cost</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:title="label: PropertyPlantAndEquipmentGross to us-gaap_PropertyPlantAndEquipmentGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentGross1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentGross1">Property and equipment, gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross1" xlink:title="label: PropertyPlantAndEquipmentGross to us-gaap_PropertyPlantAndEquipmentGross1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentNet" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNet">Property and equipment, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:title="label: PropertyPlantAndEquipmentNet to us-gaap_PropertyPlantAndEquipmentNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNet_lbl1">Property, Plant and Equipment, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xlink:title="label: PropertyPlantAndEquipmentNet to us-gaap_PropertyPlantAndEquipmentNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">Property and equipment, net of accumulated depreciation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="label: PropertyPlantAndEquipmentPolicyTextBlock to us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xml:lang="en-US" id="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">Purchase of property and equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="label: PaymentsToAcquirePropertyPlantAndEquipment to us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xml:lang="en-US" id="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xlink:title="label: PaymentsToAcquirePropertyPlantAndEquipment to us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:title="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xml:lang="en-US" id="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward">Reconciliation of Uncertain Tax Positions ("UTP") [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:title="label: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="RepaymentsOfLongTermDebt" xlink:title="RepaymentsOfLongTermDebt" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_RepaymentsOfLongTermDebt" xml:lang="en-US" id="us-gaap_RepaymentsOfLongTermDebt">Payments on long-term debt</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt" xlink:title="label: RepaymentsOfLongTermDebt to us-gaap_RepaymentsOfLongTermDebt" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RepaymentsOfLongTermDebt_lbl1" xml:lang="en-US" id="us-gaap_RepaymentsOfLongTermDebt_lbl1">Repayments of Long-Term Debt</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl1" xlink:title="label: RepaymentsOfLongTermDebt to us-gaap_RepaymentsOfLongTermDebt_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="PaymentsForRepurchaseOfCommonStock" xlink:title="PaymentsForRepurchaseOfCommonStock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_PaymentsForRepurchaseOfCommonStock" xml:lang="en-US" id="us-gaap_PaymentsForRepurchaseOfCommonStock">Repurchase of common stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:title="label: PaymentsForRepurchaseOfCommonStock to us-gaap_PaymentsForRepurchaseOfCommonStock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl1" xml:lang="en-US" id="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl1">Payments for Repurchase of Common Stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl1" xlink:title="label: PaymentsForRepurchaseOfCommonStock to us-gaap_PaymentsForRepurchaseOfCommonStock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RetainedEarningsAccumulatedDeficit" xml:lang="en-US" id="us-gaap_RetainedEarningsAccumulatedDeficit">Retained earnings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:title="label: RetainedEarningsAccumulatedDeficit to us-gaap_RetainedEarningsAccumulatedDeficit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="SegmentReportingInformationLineItems" xlink:title="SegmentReportingInformationLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SegmentReportingInformationLineItems" xml:lang="en-US" id="us-gaap_SegmentReportingInformationLineItems">Segment Reporting Information [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems" xlink:title="label: SegmentReportingInformationLineItems to us-gaap_SegmentReportingInformationLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:title="ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xml:lang="en-US" id="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:title="label: ScheduleOfSegmentReportingInformationBySegmentTable to us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">Forfeited (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">Number of restricted stock units granted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod1">Granted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">Granted (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">Balance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber1">Balance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl2">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">Balance (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1">Balance (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">Unrecognized Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl1" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl1">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">Vested (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">Vested (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain">Award Type [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xml:lang="en-US" id="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="label: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:title="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xml:lang="en-US" id="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain">Supplier [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:title="label: ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain to us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:label="ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:title="ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xml:lang="en-US" id="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">Supplier [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:title="label: ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis to us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="SignificantAccountingPoliciesTextBlock" xlink:title="SignificantAccountingPoliciesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SignificantAccountingPoliciesTextBlock" xml:lang="en-US" id="us-gaap_SignificantAccountingPoliciesTextBlock">SIGNIFICANT ACCOUNTING POLICIES</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:title="label: SignificantAccountingPoliciesTextBlock to us-gaap_SignificantAccountingPoliciesTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" xlink:title="StatementOfCashFlowsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfCashFlowsAbstract" xml:lang="en-US" id="us-gaap_StatementOfCashFlowsAbstract">Condensed Consolidated Statements of Cash Flows [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract" xlink:title="label: StatementOfCashFlowsAbstract to us-gaap_StatementOfCashFlowsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" xlink:title="StatementOfStockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfStockholdersEquityAbstract" xml:lang="en-US" id="us-gaap_StatementOfStockholdersEquityAbstract">Condensed Consolidated Statements of Stockholders' Equity [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract" xlink:title="label: StatementOfStockholdersEquityAbstract to us-gaap_StatementOfStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xml:lang="en-US" id="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">Stock-based compensation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="label: ShareBasedCompensationOptionAndIncentivePlansPolicy to us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl1">Share-Based Payment Arrangement [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl1" xlink:title="label: ShareBasedCompensationOptionAndIncentivePlansPolicy to us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockholdersEquityAbstract" xml:lang="en-US" id="us-gaap_StockholdersEquityAbstract">STOCKHOLDERS' EQUITY:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:title="label: StockholdersEquityAbstract to us-gaap_StockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="StockholdersEquityNoteAbstract" xlink:title="StockholdersEquityNoteAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquityNoteAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StockholdersEquityNoteAbstract" xml:lang="en-US" id="us-gaap_StockholdersEquityNoteAbstract">Restricted Stock Plan [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquityNoteAbstract" xlink:to="us-gaap_StockholdersEquityNoteAbstract" xlink:title="label: StockholdersEquityNoteAbstract to us-gaap_StockholdersEquityNoteAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquityNoteAbstract1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockholdersEquityNoteAbstract1" xml:lang="en-US" id="us-gaap_StockholdersEquityNoteAbstract1">Stockholders' Equity Note [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquityNoteAbstract" xlink:to="us-gaap_StockholdersEquityNoteAbstract1" xlink:title="label: StockholdersEquityNoteAbstract to us-gaap_StockholdersEquityNoteAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="StockholdersEquityNoteDisclosureTextBlock" xlink:title="StockholdersEquityNoteDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xml:lang="en-US" id="us-gaap_StockholdersEquityNoteDisclosureTextBlock">STOCKHOLDERS' EQUITY</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:title="label: StockholdersEquityNoteDisclosureTextBlock to us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="SupplementalCashFlowInformationAbstract" xlink:title="SupplementalCashFlowInformationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SupplementalCashFlowInformationAbstract" xml:lang="en-US" id="us-gaap_SupplementalCashFlowInformationAbstract">Supplemental disclosures of cash flow information:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" xlink:title="label: SupplementalCashFlowInformationAbstract to us-gaap_SupplementalCashFlowInformationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplierConcentrationRiskMember" xlink:label="SupplierConcentrationRiskMember" xlink:title="SupplierConcentrationRiskMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SupplierConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SupplierConcentrationRiskMember" xml:lang="en-US" id="us-gaap_SupplierConcentrationRiskMember">Supplier Concentration Risk [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SupplierConcentrationRiskMember" xlink:to="us-gaap_SupplierConcentrationRiskMember" xlink:title="label: SupplierConcentrationRiskMember to us-gaap_SupplierConcentrationRiskMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AssetsCurrent" xml:lang="en-US" id="us-gaap_AssetsCurrent">Total current assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrent" xlink:to="us-gaap_AssetsCurrent" xlink:title="label: AssetsCurrent to us-gaap_AssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsCurrent_lbl1" xml:lang="en-US" id="us-gaap_AssetsCurrent_lbl1">Assets, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl1" xlink:title="label: AssetsCurrent to us-gaap_AssetsCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsCurrentAbstract" xml:lang="en-US" id="us-gaap_AssetsCurrentAbstract">CURRENT ASSETS:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:title="label: AssetsCurrentAbstract to us-gaap_AssetsCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="UnrecognizedTaxBenefits" xlink:title="UnrecognizedTaxBenefits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_UnrecognizedTaxBenefits" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefits">UTP at end of year</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits" xlink:title="label: UnrecognizedTaxBenefits to us-gaap_UnrecognizedTaxBenefits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_UnrecognizedTaxBenefits1" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefits1">UTP at beginning of the year</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits1" xlink:title="label: UnrecognizedTaxBenefits to us-gaap_UnrecognizedTaxBenefits1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnrecognizedTaxBenefits_lbl2" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefits_lbl2">Unrecognized Tax Benefits</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl2" xlink:title="label: UnrecognizedTaxBenefits to us-gaap_UnrecognizedTaxBenefits_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:label="UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:title="UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions">Gross decrease to tax positions in current period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:title="label: UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions to us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions_lbl1" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions_lbl1">Unrecognized Tax Benefits, Decrease Resulting from Current Period Tax Positions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions_lbl1" xlink:title="label: UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions to us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:title="UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">Gross increase to tax positions in current period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:title="label: UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions to us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl1" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl1">Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl1" xlink:title="label: UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions to us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VehiclesMember" xlink:label="VehiclesMember" xlink:title="VehiclesMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_VehiclesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_VehiclesMember" xml:lang="en-US" id="us-gaap_VehiclesMember">Vehicles [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VehiclesMember" xlink:to="us-gaap_VehiclesMember" xlink:title="label: VehiclesMember to us-gaap_VehiclesMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">Diluted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="label: WeightedAverageNumberOfDilutedSharesOutstanding to us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1">Diluted weighted-average common shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" xlink:title="label: WeightedAverageNumberOfDilutedSharesOutstanding to us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">Basic (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="label: WeightedAverageNumberOfSharesOutstandingBasic to us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1">Basic weighted-average common shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" xlink:title="label: WeightedAverageNumberOfSharesOutstandingBasic to us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:label="InventoryWorkInProcessAndRawMaterials" xlink:title="InventoryWorkInProcessAndRawMaterials" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_InventoryWorkInProcessAndRawMaterials" xml:lang="en-US" id="us-gaap_InventoryWorkInProcessAndRawMaterials">Raw materials and work in process</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryWorkInProcessAndRawMaterials" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:title="label: InventoryWorkInProcessAndRawMaterials to us-gaap_InventoryWorkInProcessAndRawMaterials" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl1" xml:lang="en-US" id="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl1">Inventory, Work in Process and Raw Materials</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryWorkInProcessAndRawMaterials" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl1" xlink:title="label: InventoryWorkInProcessAndRawMaterials to us-gaap_InventoryWorkInProcessAndRawMaterials_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="CommonStockMember" xlink:title="CommonStockMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockMember" xml:lang="en-US" id="us-gaap_CommonStockMember">Common Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockMember" xlink:to="us-gaap_CommonStockMember" xlink:title="label: CommonStockMember to us-gaap_CommonStockMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentTypeDomain" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentTypeDomain">Long-Lived Tangible Asset [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:title="label: PropertyPlantAndEquipmentTypeDomain to us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="BuildingAndBuildingImprovementsMember" xlink:title="BuildingAndBuildingImprovementsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BuildingAndBuildingImprovementsMember" xml:lang="en-US" id="us-gaap_BuildingAndBuildingImprovementsMember">Buildings and Related Improvements [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" xlink:title="label: BuildingAndBuildingImprovementsMember to us-gaap_BuildingAndBuildingImprovementsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNetAbstract" xlink:label="PropertyPlantAndEquipmentNetAbstract" xlink:title="PropertyPlantAndEquipmentNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNetAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentNetAbstract" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNetAbstract">Property and equipment, net of accumulated depreciation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNetAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNetAbstract" xlink:title="label: PropertyPlantAndEquipmentNetAbstract to us-gaap_PropertyPlantAndEquipmentNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNetAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentNetAbstract_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNetAbstract_lbl1">Property, Plant and Equipment, Net [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNetAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNetAbstract_lbl1" xlink:title="label: PropertyPlantAndEquipmentNetAbstract to us-gaap_PropertyPlantAndEquipmentNetAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_Assets" xml:lang="en-US" id="us-gaap_Assets">TOTAL ASSETS</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Assets" xlink:to="us-gaap_Assets" xlink:title="label: Assets to us-gaap_Assets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Assets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Assets_lbl1" xml:lang="en-US" id="us-gaap_Assets_lbl1">Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Assets" xlink:to="us-gaap_Assets_lbl1" xlink:title="label: Assets to us-gaap_Assets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="AllowanceForDoubtfulAccountsReceivable" xlink:title="AllowanceForDoubtfulAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivable" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivable">Allowance for expected credit losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:title="label: AllowanceForDoubtfulAccountsReceivable to us-gaap_AllowanceForDoubtfulAccountsReceivable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="AccountsNotesAndLoansReceivableLineItems" xlink:title="AccountsNotesAndLoansReceivableLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsNotesAndLoansReceivableLineItems" xml:lang="en-US" id="us-gaap_AccountsNotesAndLoansReceivableLineItems">Accounts, Notes, Loans and Financing Receivable [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:title="label: AccountsNotesAndLoansReceivableLineItems to us-gaap_AccountsNotesAndLoansReceivableLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OtherLiabilitiesNoncurrent" xml:lang="en-US" id="us-gaap_OtherLiabilitiesNoncurrent">Other non-current liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:title="label: OtherLiabilitiesNoncurrent to us-gaap_OtherLiabilitiesNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherLiabilitiesNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_OtherLiabilitiesNoncurrent_lbl1">Other Liabilities, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl1" xlink:title="label: OtherLiabilitiesNoncurrent to us-gaap_OtherLiabilitiesNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskByBenchmarkAxis" xml:lang="en-US" id="us-gaap_ConcentrationRiskByBenchmarkAxis">Concentration Risk Benchmark [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:title="label: ConcentrationRiskByBenchmarkAxis to us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskBenchmarkDomain" xml:lang="en-US" id="us-gaap_ConcentrationRiskBenchmarkDomain">Concentration Risk Benchmark [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:title="label: ConcentrationRiskBenchmarkDomain to us-gaap_ConcentrationRiskBenchmarkDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PriorPeriodAdjustmentAbstract" xlink:label="PriorPeriodAdjustmentAbstract" xlink:title="PriorPeriodAdjustmentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PriorPeriodAdjustmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PriorPeriodAdjustmentAbstract" xml:lang="en-US" id="us-gaap_PriorPeriodAdjustmentAbstract">Prior Period Adjustments [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PriorPeriodAdjustmentAbstract" xlink:to="us-gaap_PriorPeriodAdjustmentAbstract" xlink:title="label: PriorPeriodAdjustmentAbstract to us-gaap_PriorPeriodAdjustmentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementTable" xml:lang="en-US" id="us-gaap_StatementTable">Statement [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementTable" xlink:to="us-gaap_StatementTable" xlink:title="label: StatementTable to us-gaap_StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AssetsAbstract" xml:lang="en-US" id="us-gaap_AssetsAbstract">ASSETS</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsAbstract" xlink:to="us-gaap_AssetsAbstract" xlink:title="label: AssetsAbstract to us-gaap_AssetsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsAbstract1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsAbstract1" xml:lang="en-US" id="us-gaap_AssetsAbstract1">Assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsAbstract" xlink:to="us-gaap_AssetsAbstract1" xlink:title="label: AssetsAbstract to us-gaap_AssetsAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementLineItems" xml:lang="en-US" id="us-gaap_StatementLineItems">Statement [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementLineItems" xlink:to="us-gaap_StatementLineItems" xlink:title="label: StatementLineItems to us-gaap_StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:label="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:title="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xml:lang="en-US" id="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract">Computation of Earnings Per Share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:title="label: NetIncomeLossAvailableToCommonStockholdersBasicAbstract to us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:label="FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:title="FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xml:lang="en-US" id="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet">Transfers into (out of) Level 3</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:title="label: FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet to us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="EquityAbstract" xlink:title="EquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EquityAbstract" xml:lang="en-US" id="us-gaap_EquityAbstract">STOCKHOLDERS' EQUITY [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityAbstract" xlink:to="us-gaap_EquityAbstract" xlink:title="label: EquityAbstract to us-gaap_EquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="RisksAndUncertaintiesAbstract" xlink:title="RisksAndUncertaintiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RisksAndUncertaintiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RisksAndUncertaintiesAbstract" xml:lang="en-US" id="us-gaap_RisksAndUncertaintiesAbstract">SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract" xlink:title="label: RisksAndUncertaintiesAbstract to us-gaap_RisksAndUncertaintiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternalRevenueServiceIRSMember" xlink:label="InternalRevenueServiceIRSMember" xlink:title="InternalRevenueServiceIRSMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InternalRevenueServiceIRSMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InternalRevenueServiceIRSMember" xml:lang="en-US" id="us-gaap_InternalRevenueServiceIRSMember">United States [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternalRevenueServiceIRSMember" xlink:to="us-gaap_InternalRevenueServiceIRSMember" xlink:title="label: InternalRevenueServiceIRSMember to us-gaap_InternalRevenueServiceIRSMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="label: IncreaseDecreaseInStockholdersEquityRollForward to us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:label="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="PropertyPlantAndEquipmentNetByTypeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract">Property and Equipment [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="label: PropertyPlantAndEquipmentNetByTypeAbstract to us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="ClassOfTreasuryStockTable" xlink:title="ClassOfTreasuryStockTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ClassOfTreasuryStockTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ClassOfTreasuryStockTable" xml:lang="en-US" id="us-gaap_ClassOfTreasuryStockTable">Class of Treasury Stock [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ClassOfTreasuryStockTable" xlink:to="us-gaap_ClassOfTreasuryStockTable" xlink:title="label: ClassOfTreasuryStockTable to us-gaap_ClassOfTreasuryStockTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="EquityClassOfTreasuryStockLineItems" xlink:title="EquityClassOfTreasuryStockLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EquityClassOfTreasuryStockLineItems" xml:lang="en-US" id="us-gaap_EquityClassOfTreasuryStockLineItems">Equity, Class of Treasury Stock [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:title="label: EquityClassOfTreasuryStockLineItems to us-gaap_EquityClassOfTreasuryStockLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="IncreaseDecreaseInDeferredIncomeTaxes" xlink:title="IncreaseDecreaseInDeferredIncomeTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes">Income taxes, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:title="label: IncreaseDecreaseInDeferredIncomeTaxes to us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl1">Increase (Decrease) in Deferred Income Taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl1" xlink:title="label: IncreaseDecreaseInDeferredIncomeTaxes to us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="DeferredRevenue" xlink:title="DeferredRevenue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredRevenue" xml:lang="en-US" id="us-gaap_DeferredRevenue">Credit card payments recorded as deferred revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredRevenue" xlink:to="us-gaap_DeferredRevenue" xlink:title="label: DeferredRevenue to us-gaap_DeferredRevenue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherAssetsNoncurrent" xml:lang="en-US" id="us-gaap_OtherAssetsNoncurrent">Other assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:title="label: OtherAssetsNoncurrent to us-gaap_OtherAssetsNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_EarningsPerShareAbstract" xml:lang="en-US" id="us-gaap_EarningsPerShareAbstract">Net income per common share:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:title="label: EarningsPerShareAbstract to us-gaap_EarningsPerShareAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareAbstract_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerShareAbstract_lbl1">Earnings Per Share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl1" xlink:title="label: EarningsPerShareAbstract to us-gaap_EarningsPerShareAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:label="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:title="ScheduleOfEarningsPerShareDilutedByCommonClassTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" xml:lang="en-US" id="us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable">Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:to="us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:title="label: ScheduleOfEarningsPerShareDilutedByCommonClassTable to us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="EarningsPerSharePolicyTextBlock" xlink:title="EarningsPerSharePolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_EarningsPerSharePolicyTextBlock" xml:lang="en-US" id="us-gaap_EarningsPerSharePolicyTextBlock">Earnings per share</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock" xlink:title="label: EarningsPerSharePolicyTextBlock to us-gaap_EarningsPerSharePolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerSharePolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerSharePolicyTextBlock_lbl1">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl1" xlink:title="label: EarningsPerSharePolicyTextBlock to us-gaap_EarningsPerSharePolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDilutedLineItems" xlink:label="EarningsPerShareDilutedLineItems" xlink:title="EarningsPerShareDilutedLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDilutedLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareDilutedLineItems" xml:lang="en-US" id="us-gaap_EarningsPerShareDilutedLineItems">Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="us-gaap_EarningsPerShareDilutedLineItems" xlink:title="label: EarningsPerShareDilutedLineItems to us-gaap_EarningsPerShareDilutedLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="DeferredIncomeTaxesAndTaxCredits" xlink:title="DeferredIncomeTaxesAndTaxCredits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredIncomeTaxesAndTaxCredits" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxesAndTaxCredits">Deferred income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxesAndTaxCredits" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:title="label: DeferredIncomeTaxesAndTaxCredits to us-gaap_DeferredIncomeTaxesAndTaxCredits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl1">Deferred Income Taxes and Tax Credits</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxesAndTaxCredits" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl1" xlink:title="label: DeferredIncomeTaxesAndTaxCredits to us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xml:lang="en-US" id="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable">Property, Plant and Equipment [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="label: ScheduleOfPropertyPlantAndEquipmentTable to us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockParOrStatedValuePerShare" xml:lang="en-US" id="us-gaap_CommonStockParOrStatedValuePerShare">Common stock, par value (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:title="label: CommonStockParOrStatedValuePerShare to us-gaap_CommonStockParOrStatedValuePerShare" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentByTypeAxis">Long-Lived Tangible Asset [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:title="label: PropertyPlantAndEquipmentByTypeAxis to us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentLineItems" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentLineItems">Property, Plant and Equipment [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:title="label: PropertyPlantAndEquipmentLineItems to us-gaap_PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="CommonStockCapitalSharesReservedForFutureIssuance" xlink:title="CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xml:lang="en-US" id="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">Number of common shares reserved for issuance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:title="label: CommonStockCapitalSharesReservedForFutureIssuance to us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl1" xml:lang="en-US" id="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl1">Common Stock, Capital Shares Reserved for Future Issuance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl1" xlink:title="label: CommonStockCapitalSharesReservedForFutureIssuance to us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract">Income (loss) before income taxes [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingCostsAndExpenses" xlink:label="OperatingCostsAndExpenses" xlink:title="OperatingCostsAndExpenses" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingCostsAndExpenses" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_OperatingCostsAndExpenses" xml:lang="en-US" id="us-gaap_OperatingCostsAndExpenses">Operating expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingCostsAndExpenses" xlink:to="us-gaap_OperatingCostsAndExpenses" xlink:title="label: OperatingCostsAndExpenses to us-gaap_OperatingCostsAndExpenses" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingCostsAndExpenses1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingCostsAndExpenses1" xml:lang="en-US" id="us-gaap_OperatingCostsAndExpenses1">Operating expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingCostsAndExpenses" xlink:to="us-gaap_OperatingCostsAndExpenses1" xlink:title="label: OperatingCostsAndExpenses to us-gaap_OperatingCostsAndExpenses1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingCostsAndExpenses_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingCostsAndExpenses_lbl2" xml:lang="en-US" id="us-gaap_OperatingCostsAndExpenses_lbl2">Operating Costs and Expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingCostsAndExpenses" xlink:to="us-gaap_OperatingCostsAndExpenses_lbl2" xlink:title="label: OperatingCostsAndExpenses to us-gaap_OperatingCostsAndExpenses_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_StockholdersEquity" xml:lang="en-US" id="us-gaap_StockholdersEquity">Balance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_StockholdersEquity1" xml:lang="en-US" id="us-gaap_StockholdersEquity1">Balance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity1" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity2" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_StockholdersEquity2" xml:lang="en-US" id="us-gaap_StockholdersEquity2">Total stockholders' equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity2" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity2" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockholdersEquity_lbl3" xml:lang="en-US" id="us-gaap_StockholdersEquity_lbl3">Equity, Attributable to Parent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl3" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity_lbl3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">Property and equipment depreciation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="label: DeferredTaxLiabilitiesPropertyPlantAndEquipment to us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1">Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1" xlink:title="label: DeferredTaxLiabilitiesPropertyPlantAndEquipment to us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefit">Provision for income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:title="label: IncomeTaxExpenseBenefit to us-gaap_IncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_IncomeTaxExpenseBenefit1" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefit1">Total tax provision (benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit1" xlink:title="label: IncomeTaxExpenseBenefit to us-gaap_IncomeTaxExpenseBenefit1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:label="ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:title="ForeignCurrencyTransactionGainLossBeforeTaxAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract">Foreign currency translation and transactions [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:title="label: ForeignCurrencyTransactionGainLossBeforeTaxAbstract to us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract_lbl1" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract_lbl1">Gain (Loss), Foreign Currency Transaction, before Tax [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract_lbl1" xlink:title="label: ForeignCurrencyTransactionGainLossBeforeTaxAbstract to us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="AccountsReceivableMember" xlink:title="AccountsReceivableMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsReceivableMember" xml:lang="en-US" id="us-gaap_AccountsReceivableMember">Accounts Receivable [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember" xlink:title="label: AccountsReceivableMember to us-gaap_AccountsReceivableMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableMember" xlink:label="AccountsPayableMember" xlink:title="AccountsPayableMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsPayableMember" xml:lang="en-US" id="us-gaap_AccountsPayableMember">Accounts Payable [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableMember" xlink:to="us-gaap_AccountsPayableMember" xlink:title="label: AccountsPayableMember to us-gaap_AccountsPayableMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementEquityComponentsAxis" xml:lang="en-US" id="us-gaap_StatementEquityComponentsAxis">Equity Components [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:title="label: StatementEquityComponentsAxis to us-gaap_StatementEquityComponentsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdditionalPaidInCapitalMember" xml:lang="en-US" id="us-gaap_AdditionalPaidInCapitalMember">Paid-in Capital [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:title="label: AdditionalPaidInCapitalMember to us-gaap_AdditionalPaidInCapitalMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RetainedEarningsMember" xml:lang="en-US" id="us-gaap_RetainedEarningsMember">Retained Earnings [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember" xlink:title="label: RetainedEarningsMember to us-gaap_RetainedEarningsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeMember">Accumulated Other Comprehensive Income (Loss) [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:title="label: AccumulatedOtherComprehensiveIncomeMember to us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EquityComponentDomain" xml:lang="en-US" id="us-gaap_EquityComponentDomain">Equity Component [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain" xlink:title="label: EquityComponentDomain to us-gaap_EquityComponentDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:label="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:title="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xml:lang="en-US" id="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock">Operating expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:title="label: SellingGeneralAndAdministrativeExpensesPolicyTextBlock to us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl1">Selling, General and Administrative Expenses, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl1" xlink:title="label: SellingGeneralAndAdministrativeExpensesPolicyTextBlock to us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross">Issuance of restricted stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:title="label: StockIssuedDuringPeriodValueRestrictedStockAwardGross to us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:label="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="StockRepurchasedAndRetiredDuringPeriodValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xml:lang="en-US" id="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue">Repurchase of common stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchasedAndRetiredDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="label: StockRepurchasedAndRetiredDuringPeriodValue to us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue1" xml:lang="en-US" id="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue1">Purchase price</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchasedAndRetiredDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue1" xlink:title="label: StockRepurchasedAndRetiredDuringPeriodValue to us-gaap_StockRepurchasedAndRetiredDuringPeriodValue1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">Issuance of restricted stock (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="label: StockIssuedDuringPeriodSharesRestrictedStockAwardGross to us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross1">Number of shares issued from vesting of restricted stock (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross1" xlink:title="label: StockIssuedDuringPeriodSharesRestrictedStockAwardGross to us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:label="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="StockRepurchasedAndRetiredDuringPeriodShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xml:lang="en-US" id="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares">Repurchase of common stock (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchasedAndRetiredDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="label: StockRepurchasedAndRetiredDuringPeriodShares to us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares1" xml:lang="en-US" id="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares1">Repurchase of common stock (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchasedAndRetiredDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares1" xlink:title="label: StockRepurchasedAndRetiredDuringPeriodShares to us-gaap_StockRepurchasedAndRetiredDuringPeriodShares1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="LiabilityForUncertainTaxPositionsNoncurrent" xlink:title="LiabilityForUncertainTaxPositionsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xml:lang="en-US" id="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">Uncertain tax positions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilityForUncertainTaxPositionsNoncurrent" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:title="label: LiabilityForUncertainTaxPositionsNoncurrent to us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl1">Liability for Uncertainty in Income Taxes, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilityForUncertainTaxPositionsNoncurrent" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl1" xlink:title="label: LiabilityForUncertainTaxPositionsNoncurrent to us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:title="CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xml:lang="en-US" id="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract">Supplemental disclosures of non-cash activity:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:title="label: CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract to us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">Shares [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">Weighted average number of shares outstanding:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="label: WeightedAverageNumberOfSharesOutstandingAbstract to us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract1">Denominator [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract1" xlink:title="label: WeightedAverageNumberOfSharesOutstandingAbstract to us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:title="ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xml:lang="en-US" id="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable">Schedule of Accounts, Notes, Loans and Financing Receivable [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:title="label: ScheduleOfAccountsNotesLoansAndFinancingReceivableTable to us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:title="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xml:lang="en-US" id="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">Comprehensive income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:title="label: ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest to us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl1" xml:lang="en-US" id="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl1">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl1" xlink:title="label: ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest to us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LeasesAbstract" xml:lang="en-US" id="us-gaap_LeasesAbstract">LEASES [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeasesAbstract" xlink:to="us-gaap_LeasesAbstract" xlink:title="label: LeasesAbstract to us-gaap_LeasesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LeasesAbstract1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LeasesAbstract1" xml:lang="en-US" id="us-gaap_LeasesAbstract1">Leases [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeasesAbstract" xlink:to="us-gaap_LeasesAbstract1" xlink:title="label: LeasesAbstract to us-gaap_LeasesAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CommitmentsAndContingencies" xml:lang="en-US" id="us-gaap_CommitmentsAndContingencies">COMMITMENTS AND CONTINGENCIES (Note 8)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:title="label: CommitmentsAndContingencies to us-gaap_CommitmentsAndContingencies" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommitmentsAndContingencies_lbl1" xml:lang="en-US" id="us-gaap_CommitmentsAndContingencies_lbl1">Commitments and Contingencies</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl1" xlink:title="label: CommitmentsAndContingencies to us-gaap_CommitmentsAndContingencies_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeconsolidationGainOrLossAmount" xlink:label="DeconsolidationGainOrLossAmount" xlink:title="DeconsolidationGainOrLossAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeconsolidationGainOrLossAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeconsolidationGainOrLossAmount" xml:lang="en-US" id="us-gaap_DeconsolidationGainOrLossAmount">Loss on deconsolidation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeconsolidationGainOrLossAmount" xlink:to="us-gaap_DeconsolidationGainOrLossAmount" xlink:title="label: DeconsolidationGainOrLossAmount to us-gaap_DeconsolidationGainOrLossAmount" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US" id="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="label: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:label="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:title="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xml:lang="en-US" id="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities">Total adjustments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:title="label: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_lbl1" xml:lang="en-US" id="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_lbl1">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_lbl1" xlink:title="label: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="AccountsPayableTradeCurrent" xlink:title="AccountsPayableTradeCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableTradeCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsPayableTradeCurrent" xml:lang="en-US" id="us-gaap_AccountsPayableTradeCurrent">Accounts payable-trade</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableTradeCurrent" xlink:to="us-gaap_AccountsPayableTradeCurrent" xlink:title="label: AccountsPayableTradeCurrent to us-gaap_AccountsPayableTradeCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableTradeCurrent1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AccountsPayableTradeCurrent1" xml:lang="en-US" id="us-gaap_AccountsPayableTradeCurrent1">Accounts Payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableTradeCurrent" xlink:to="us-gaap_AccountsPayableTradeCurrent1" xlink:title="label: AccountsPayableTradeCurrent to us-gaap_AccountsPayableTradeCurrent1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="EmployeeRelatedLiabilitiesCurrent" xlink:title="EmployeeRelatedLiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeRelatedLiabilitiesCurrent" xml:lang="en-US" id="us-gaap_EmployeeRelatedLiabilitiesCurrent">Accrued employee related costs</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:title="label: EmployeeRelatedLiabilitiesCurrent to us-gaap_EmployeeRelatedLiabilitiesCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="TaxesPayableCurrent" xlink:title="TaxesPayableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TaxesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TaxesPayableCurrent" xml:lang="en-US" id="us-gaap_TaxesPayableCurrent">Income taxes payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent" xlink:title="label: TaxesPayableCurrent to us-gaap_TaxesPayableCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xml:lang="en-US" id="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">Stock-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="label: AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue to us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xml:lang="en-US" id="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xlink:title="label: AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue to us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="NetIncomeLossAbstract" xlink:title="NetIncomeLossAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetIncomeLossAbstract" xml:lang="en-US" id="us-gaap_NetIncomeLossAbstract">Numerator [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLossAbstract" xlink:to="us-gaap_NetIncomeLossAbstract" xlink:title="label: NetIncomeLossAbstract to us-gaap_NetIncomeLossAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">Income before income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest1" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest1">TOTAL</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest1" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl2" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl2">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl2" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xml:lang="en-US" id="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">Purchase of vested stock for employee payroll tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="label: AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation to us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" xml:lang="en-US" id="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1">Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" xlink:title="label: AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation to us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductInformationLineItems" xlink:label="ProductInformationLineItems" xlink:title="ProductInformationLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProductInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProductInformationLineItems" xml:lang="en-US" id="us-gaap_ProductInformationLineItems">Product Information [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProductInformationLineItems" xlink:to="us-gaap_ProductInformationLineItems" xlink:title="label: ProductInformationLineItems to us-gaap_ProductInformationLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfStores" xlink:label="NumberOfStores" xlink:title="NumberOfStores" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfStores" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NumberOfStores" xml:lang="en-US" id="us-gaap_NumberOfStores">Number of stores</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfStores" xlink:to="us-gaap_NumberOfStores" xlink:title="label: NumberOfStores to us-gaap_NumberOfStores" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfStores_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NumberOfStores_lbl1" xml:lang="en-US" id="us-gaap_NumberOfStores_lbl1">Number of Stores</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfStores" xlink:to="us-gaap_NumberOfStores_lbl1" xlink:title="label: NumberOfStores to us-gaap_NumberOfStores_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="ScheduleOfProductInformationTable" xlink:title="ScheduleOfProductInformationTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfProductInformationTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfProductInformationTable" xml:lang="en-US" id="us-gaap_ScheduleOfProductInformationTable">Schedule of Product Information [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfProductInformationTable" xlink:to="us-gaap_ScheduleOfProductInformationTable" xlink:title="label: ScheduleOfProductInformationTable to us-gaap_ScheduleOfProductInformationTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xml:lang="en-US" id="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">Purchase of vested stock for employee payroll tax (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="label: SharesPaidForTaxWithholdingForShareBasedCompensation to us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xml:lang="en-US" id="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xlink:title="label: SharesPaidForTaxWithholdingForShareBasedCompensation to us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xml:lang="en-US" id="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">DESCRIPTION OF BUSINESS</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="label: BasisOfPresentationAndSignificantAccountingPoliciesTextBlock to us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockSupplementAbstract" xlink:label="DisclosureTextBlockSupplementAbstract" xlink:title="DisclosureTextBlockSupplementAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisclosureTextBlockSupplementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisclosureTextBlockSupplementAbstract" xml:lang="en-US" id="us-gaap_DisclosureTextBlockSupplementAbstract">BALANCE SHEET COMPONENTS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisclosureTextBlockSupplementAbstract" xlink:to="us-gaap_DisclosureTextBlockSupplementAbstract" xlink:title="label: DisclosureTextBlockSupplementAbstract to us-gaap_DisclosureTextBlockSupplementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:title="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xml:lang="en-US" id="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">DESCRIPTION OF BUSINESS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:title="label: OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract to us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="SharesOutstanding" xlink:title="SharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_SharesOutstanding" xml:lang="en-US" id="us-gaap_SharesOutstanding">Balance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesOutstanding" xlink:to="us-gaap_SharesOutstanding" xlink:title="label: SharesOutstanding to us-gaap_SharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesOutstanding1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_SharesOutstanding1" xml:lang="en-US" id="us-gaap_SharesOutstanding1">Balance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesOutstanding" xlink:to="us-gaap_SharesOutstanding1" xlink:title="label: SharesOutstanding to us-gaap_SharesOutstanding1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharesOutstanding_lbl2" xml:lang="en-US" id="us-gaap_SharesOutstanding_lbl2">Shares, Outstanding</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl2" xlink:title="label: SharesOutstanding to us-gaap_SharesOutstanding_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:title="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">Income Tax Effects of Temporary Differences Impacting Deferred Income Tax Assets and Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:title="label: ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock to us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:title="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">Provision for Income Taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:title="label: ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock to us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1" xlink:title="label: ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock to us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:title="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">Reconciliation of Effective Tax Rate from Statutory Rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:title="label: ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock to us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:title="ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">Income Before Income Taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:title="label: ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock to us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" xlink:title="CommitmentsAndContingenciesDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xml:lang="en-US" id="us-gaap_CommitmentsAndContingenciesDisclosureAbstract">COMMITMENTS AND CONTINGENCIES [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:title="label: CommitmentsAndContingenciesDisclosureAbstract to us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxDisclosureAbstract" xml:lang="en-US" id="us-gaap_IncomeTaxDisclosureAbstract">INCOME TAXES [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract" xlink:title="label: IncomeTaxDisclosureAbstract to us-gaap_IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryDisclosureAbstract" xml:lang="en-US" id="us-gaap_InventoryDisclosureAbstract">Inventory [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract" xlink:title="label: InventoryDisclosureAbstract to us-gaap_InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtDisclosureAbstract" xml:lang="en-US" id="us-gaap_DebtDisclosureAbstract">NOTES PAYABLE AND LONG-TERM DEBT [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract" xlink:title="label: DebtDisclosureAbstract to us-gaap_DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" xlink:title="CompensationAndRetirementDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CompensationAndRetirementDisclosureAbstract" xml:lang="en-US" id="us-gaap_CompensationAndRetirementDisclosureAbstract">EMPLOYEE BENEFIT AND SAVINGS PLANS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:title="label: CompensationAndRetirementDisclosureAbstract to us-gaap_CompensationAndRetirementDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:label="ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:title="ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock">Non-vested, Service-based Stock Awards</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:title="label: ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock to us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="UseOfEstimates" xlink:title="UseOfEstimates" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UseOfEstimates" xml:lang="en-US" id="us-gaap_UseOfEstimates">Management estimates and reporting</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UseOfEstimates" xlink:to="us-gaap_UseOfEstimates" xlink:title="label: UseOfEstimates to us-gaap_UseOfEstimates" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComparabilityOfPriorYearFinancialData" xlink:label="ComparabilityOfPriorYearFinancialData" xlink:title="ComparabilityOfPriorYearFinancialData" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComparabilityOfPriorYearFinancialData" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ComparabilityOfPriorYearFinancialData" xml:lang="en-US" id="us-gaap_ComparabilityOfPriorYearFinancialData">Correction of an error in previously issued financial statements</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComparabilityOfPriorYearFinancialData" xlink:to="us-gaap_ComparabilityOfPriorYearFinancialData" xlink:title="label: ComparabilityOfPriorYearFinancialData to us-gaap_ComparabilityOfPriorYearFinancialData" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RestrictedStockUnitsRSUMember" xml:lang="en-US" id="us-gaap_RestrictedStockUnitsRSUMember">Restricted Stock Units [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:title="label: RestrictedStockUnitsRSUMember to us-gaap_RestrictedStockUnitsRSUMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountingPoliciesAbstract" xml:lang="en-US" id="us-gaap_AccountingPoliciesAbstract">SIGNIFICANT ACCOUNTING POLICIES [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:title="label: AccountingPoliciesAbstract to us-gaap_AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="TypeOfAdoptionMember" xlink:title="TypeOfAdoptionMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TypeOfAdoptionMember" xml:lang="en-US" id="us-gaap_TypeOfAdoptionMember">Accounting Standards Update [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TypeOfAdoptionMember" xlink:to="us-gaap_TypeOfAdoptionMember" xlink:title="label: TypeOfAdoptionMember to us-gaap_TypeOfAdoptionMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="SupplementalBalanceSheetDisclosuresTextBlock" xlink:title="SupplementalBalanceSheetDisclosuresTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xml:lang="en-US" id="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock">BALANCE SHEET COMPONENTS</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SupplementalBalanceSheetDisclosuresTextBlock" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:title="label: SupplementalBalanceSheetDisclosuresTextBlock to us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="IncreaseDecreaseInOtherCurrentAssets" xlink:title="IncreaseDecreaseInOtherCurrentAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherCurrentAssets">Other current assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherCurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:title="label: IncreaseDecreaseInOtherCurrentAssets to us-gaap_IncreaseDecreaseInOtherCurrentAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl1">Increase (Decrease) in Other Current Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherCurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl1" xlink:title="label: IncreaseDecreaseInOtherCurrentAssets to us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="IncreaseDecreaseInOtherNoncurrentAssets" xlink:title="IncreaseDecreaseInOtherNoncurrentAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:title="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets">Other assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherNoncurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:title="label: IncreaseDecreaseInOtherNoncurrentAssets to us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl1">Increase (Decrease) in Other Noncurrent Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherNoncurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl1" xlink:title="label: IncreaseDecreaseInOtherNoncurrentAssets to us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">Computation of Basic and Diluted Earnings Per Share</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="label: ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock to us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:title="ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">Activity of Restricted Stock and RSU Awards</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:title="label: ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock to us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="AdjustmentsForNewAccountingPronouncementsAxis" xlink:title="AdjustmentsForNewAccountingPronouncementsAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xml:lang="en-US" id="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis">Accounting Standards Update [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:title="label: AdjustmentsForNewAccountingPronouncementsAxis to us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xml:lang="en-US" id="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent">Employer matching contribution, percentage of eligible earnings contributed by employees</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="label: DefinedContributionPlanEmployerMatchingContributionPercent to us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:label="DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:title="DefinedContributionPlanEmployerDiscretionaryContributionAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xml:lang="en-US" id="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount">Employer discretionary contribution amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:to="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:title="label: DefinedContributionPlanEmployerDiscretionaryContributionAmount to us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xml:lang="en-US" id="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="label: ScheduleOfFiniteLivedIntangibleAssetsTable to us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">Weighted Average Share Price [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">Forfeited (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="SharePrice" xlink:title="SharePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharePrice" xml:lang="en-US" id="us-gaap_SharePrice">Purchase price per share (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharePrice" xlink:to="us-gaap_SharePrice" xlink:title="label: SharePrice to us-gaap_SharePrice" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="ComprehensiveIncomePolicyPolicyTextBlock" xlink:title="ComprehensiveIncomePolicyPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xml:lang="en-US" id="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock">Comprehensive income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:title="label: ComprehensiveIncomePolicyPolicyTextBlock to us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl1">Comprehensive Income, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl1" xlink:title="label: ComprehensiveIncomePolicyPolicyTextBlock to us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="BalanceSheetLocationAxis" xlink:title="BalanceSheetLocationAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BalanceSheetLocationAxis" xml:lang="en-US" id="us-gaap_BalanceSheetLocationAxis">Balance Sheet Location [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:title="label: BalanceSheetLocationAxis to us-gaap_BalanceSheetLocationAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="ShareRepurchaseProgramAxis" xlink:title="ShareRepurchaseProgramAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareRepurchaseProgramAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareRepurchaseProgramAxis" xml:lang="en-US" id="us-gaap_ShareRepurchaseProgramAxis">Share Repurchase Program [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareRepurchaseProgramAxis" xlink:to="us-gaap_ShareRepurchaseProgramAxis" xlink:title="label: ShareRepurchaseProgramAxis to us-gaap_ShareRepurchaseProgramAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="ShareRepurchaseProgramDomain" xlink:title="ShareRepurchaseProgramDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareRepurchaseProgramDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareRepurchaseProgramDomain" xml:lang="en-US" id="us-gaap_ShareRepurchaseProgramDomain">Share Repurchase Program [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareRepurchaseProgramDomain" xlink:to="us-gaap_ShareRepurchaseProgramDomain" xlink:title="label: ShareRepurchaseProgramDomain to us-gaap_ShareRepurchaseProgramDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PlanNameAxis" xml:lang="en-US" id="us-gaap_PlanNameAxis">Plan Name [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PlanNameAxis" xlink:to="us-gaap_PlanNameAxis" xlink:title="label: PlanNameAxis to us-gaap_PlanNameAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PlanNameDomain" xml:lang="en-US" id="us-gaap_PlanNameDomain">Plan Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PlanNameDomain" xlink:to="us-gaap_PlanNameDomain" xlink:title="label: PlanNameDomain to us-gaap_PlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AwardTypeAxis" xml:lang="en-US" id="us-gaap_AwardTypeAxis">Award Type [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis" xlink:title="label: AwardTypeAxis to us-gaap_AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="IncomeStatementLocationAxis" xlink:title="IncomeStatementLocationAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeStatementLocationAxis" xml:lang="en-US" id="us-gaap_IncomeStatementLocationAxis">Income Statement Location [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:title="label: IncomeStatementLocationAxis to us-gaap_IncomeStatementLocationAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="IncomeStatementLocationDomain" xlink:title="IncomeStatementLocationDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeStatementLocationDomain" xml:lang="en-US" id="us-gaap_IncomeStatementLocationDomain">Income Statement Location [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:title="label: IncomeStatementLocationDomain to us-gaap_IncomeStatementLocationDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:title="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xml:lang="en-US" id="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">Weighted average amortization period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:title="label: AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife to us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:title="NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xml:lang="en-US" id="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">Recently Adopted Accounting Pronouncements</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:title="label: NewAccountingPronouncementsPolicyPolicyTextBlock to us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl1">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl1" xlink:title="label: NewAccountingPronouncementsPolicyPolicyTextBlock to us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:label="AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:title="AccruedLiabilitiesAndOtherLiabilitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xml:lang="en-US" id="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract">Accrued Expenses and Other Liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:title="label: AccruedLiabilitiesAndOtherLiabilitiesAbstract to us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="AccruedLiabilitiesAndOtherLiabilities" xlink:title="AccruedLiabilitiesAndOtherLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xml:lang="en-US" id="us-gaap_AccruedLiabilitiesAndOtherLiabilities">TOTAL</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:title="label: AccruedLiabilitiesAndOtherLiabilities to us-gaap_AccruedLiabilitiesAndOtherLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccruedLiabilitiesAndOtherLiabilities1" xml:lang="en-US" id="us-gaap_AccruedLiabilitiesAndOtherLiabilities1">Accrued expenses and other liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities1" xlink:title="label: AccruedLiabilitiesAndOtherLiabilities to us-gaap_AccruedLiabilitiesAndOtherLiabilities1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="PropertyPlantAndEquipmentUsefulLife" xlink:title="PropertyPlantAndEquipmentUsefulLife" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentUsefulLife" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentUsefulLife">Estimated useful lives of assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:title="label: PropertyPlantAndEquipmentUsefulLife to us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">Amortization expense, 2024</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">Amortization expense, 2025</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">Amortization expense, 2026</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseYearThree to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">Amortization expense, 2027</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseYearFour to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">Amortization expense, 2028</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseYearFive to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">Vesting period from grant date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">Unrecognized compensation cost period of recognition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="NumberOfOperatingSegments" xlink:title="NumberOfOperatingSegments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NumberOfOperatingSegments" xml:lang="en-US" id="us-gaap_NumberOfOperatingSegments">Number of operating segments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments" xlink:title="label: NumberOfOperatingSegments to us-gaap_NumberOfOperatingSegments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NumberOfOperatingSegments_lbl1" xml:lang="en-US" id="us-gaap_NumberOfOperatingSegments_lbl1">Number of Operating Segments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl1" xlink:title="label: NumberOfOperatingSegments to us-gaap_NumberOfOperatingSegments_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="NumberOfReportableSegments" xlink:title="NumberOfReportableSegments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NumberOfReportableSegments" xml:lang="en-US" id="us-gaap_NumberOfReportableSegments">Number of reporting segments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments" xlink:title="label: NumberOfReportableSegments to us-gaap_NumberOfReportableSegments" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:title="ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">Reconciliation of Uncertain Tax Positions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:title="label: ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock to us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskPercentage1" xml:lang="en-US" id="us-gaap_ConcentrationRiskPercentage1">Concentration risk percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1" xlink:title="label: ConcentrationRiskPercentage1 to us-gaap_ConcentrationRiskPercentage1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xml:lang="en-US" id="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">Foreign currency translation gain (loss), net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="label: OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax to us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax1" xml:lang="en-US" id="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax1">Foreign currency translation adjustments, net of tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax1" xlink:title="label: OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax to us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xml:lang="en-US" id="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax">Foreign currency translation loss adjustments net of tax change (benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:title="label: OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax to us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="BalanceSheetLocationDomain" xlink:title="BalanceSheetLocationDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BalanceSheetLocationDomain" xml:lang="en-US" id="us-gaap_BalanceSheetLocationDomain">Balance Sheet Location [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:title="label: BalanceSheetLocationDomain to us-gaap_BalanceSheetLocationDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesMember" xlink:label="OtherLiabilitiesMember" xlink:title="OtherLiabilitiesMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherLiabilitiesMember" xml:lang="en-US" id="us-gaap_OtherLiabilitiesMember">Other Liabilities [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherLiabilitiesMember" xlink:to="us-gaap_OtherLiabilitiesMember" xlink:title="label: OtherLiabilitiesMember to us-gaap_OtherLiabilitiesMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseMember" xlink:label="InterestExpenseMember" xlink:title="InterestExpenseMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InterestExpenseMember" xml:lang="en-US" id="us-gaap_InterestExpenseMember">Interest Expense [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestExpenseMember" xlink:to="us-gaap_InterestExpenseMember" xlink:title="label: InterestExpenseMember to us-gaap_InterestExpenseMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenseMember" xlink:label="OperatingExpenseMember" xlink:title="OperatingExpenseMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingExpenseMember" xml:lang="en-US" id="us-gaap_OperatingExpenseMember">Operating Expenses [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpenseMember" xlink:to="us-gaap_OperatingExpenseMember" xlink:title="label: OperatingExpenseMember to us-gaap_OperatingExpenseMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpenseMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingExpenseMember_lbl1" xml:lang="en-US" id="us-gaap_OperatingExpenseMember_lbl1">Operating Expense [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpenseMember" xlink:to="us-gaap_OperatingExpenseMember_lbl1" xlink:title="label: OperatingExpenseMember to us-gaap_OperatingExpenseMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntellectualPropertyMember" xlink:label="IntellectualPropertyMember" xlink:title="IntellectualPropertyMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntellectualPropertyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IntellectualPropertyMember" xml:lang="en-US" id="us-gaap_IntellectualPropertyMember">Trademarks/Copyrights [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntellectualPropertyMember" xlink:to="us-gaap_IntellectualPropertyMember" xlink:title="label: IntellectualPropertyMember to us-gaap_IntellectualPropertyMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntellectualPropertyMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IntellectualPropertyMember_lbl1" xml:lang="en-US" id="us-gaap_IntellectualPropertyMember_lbl1">Intellectual Property [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntellectualPropertyMember" xlink:to="us-gaap_IntellectualPropertyMember_lbl1" xlink:title="label: IntellectualPropertyMember to us-gaap_IntellectualPropertyMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="AccountsPayableAndAccruedLiabilitiesMember" xlink:title="AccountsPayableAndAccruedLiabilitiesMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xml:lang="en-US" id="us-gaap_AccountsPayableAndAccruedLiabilitiesMember">Accounts Expenses and Other Liabilities [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableAndAccruedLiabilitiesMember" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:title="label: AccountsPayableAndAccruedLiabilitiesMember to us-gaap_AccountsPayableAndAccruedLiabilitiesMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SalesRevenueNetMember" xml:lang="en-US" id="us-gaap_SalesRevenueNetMember">Sales Revenue [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember" xlink:title="label: SalesRevenueNetMember to us-gaap_SalesRevenueNetMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="GainLossOnDispositionOfAssets1" xlink:title="GainLossOnDispositionOfAssets1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_GainLossOnDispositionOfAssets1" xml:lang="en-US" id="us-gaap_GainLossOnDispositionOfAssets1">Loss on disposal of assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1" xlink:title="label: GainLossOnDispositionOfAssets1 to us-gaap_GainLossOnDispositionOfAssets1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GainLossOnDispositionOfAssets1_lbl1" xml:lang="en-US" id="us-gaap_GainLossOnDispositionOfAssets1_lbl1">Gain (Loss) on Disposition of Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_lbl1" xlink:title="label: GainLossOnDispositionOfAssets1 to us-gaap_GainLossOnDispositionOfAssets1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="VestingAxis" xlink:title="VestingAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_VestingAxis" xml:lang="en-US" id="us-gaap_VestingAxis">Vesting [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VestingAxis" xlink:to="us-gaap_VestingAxis" xlink:title="label: VestingAxis to us-gaap_VestingAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="VestingDomain" xlink:title="VestingDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_VestingDomain" xml:lang="en-US" id="us-gaap_VestingDomain">Vesting [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VestingDomain" xlink:to="us-gaap_VestingDomain" xlink:title="label: VestingDomain to us-gaap_VestingDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:label="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:title="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xml:lang="en-US" id="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy">Accounts receivable and expected credit losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:to="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:title="label: ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy to us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl1" xml:lang="en-US" id="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl1">Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:to="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl1" xlink:title="label: ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy to us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xml:lang="en-US" id="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch">Employer matching contribution, percentage of match</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="label: DefinedContributionPlanEmployerMatchingContributionPercentOfMatch to us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="ShareBasedCompensationAwardTrancheOneMember" xlink:title="ShareBasedCompensationAwardTrancheOneMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationAwardTrancheOneMember" xml:lang="en-US" id="us-gaap_ShareBasedCompensationAwardTrancheOneMember">Tranche One [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationAwardTrancheOneMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:title="label: ShareBasedCompensationAwardTrancheOneMember to us-gaap_ShareBasedCompensationAwardTrancheOneMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl1">Share-Based Payment Arrangement, Tranche One [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationAwardTrancheOneMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl1" xlink:title="label: ShareBasedCompensationAwardTrancheOneMember to us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="ShareBasedCompensationAwardTrancheTwoMember" xlink:title="ShareBasedCompensationAwardTrancheTwoMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xml:lang="en-US" id="us-gaap_ShareBasedCompensationAwardTrancheTwoMember">Tranche Two [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationAwardTrancheTwoMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:title="label: ShareBasedCompensationAwardTrancheTwoMember to us-gaap_ShareBasedCompensationAwardTrancheTwoMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl1">Share-Based Payment Arrangement, Tranche Two [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationAwardTrancheTwoMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl1" xlink:title="label: ShareBasedCompensationAwardTrancheTwoMember to us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="IncomeTaxAuthorityNameAxis" xlink:title="IncomeTaxAuthorityNameAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxAuthorityNameAxis" xml:lang="en-US" id="us-gaap_IncomeTaxAuthorityNameAxis">Income Tax Authority [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_IncomeTaxAuthorityNameAxis" xlink:title="label: IncomeTaxAuthorityNameAxis to us-gaap_IncomeTaxAuthorityNameAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="IncomeTaxAuthorityNameDomain" xlink:title="IncomeTaxAuthorityNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxAuthorityNameDomain" xml:lang="en-US" id="us-gaap_IncomeTaxAuthorityNameDomain">Income Tax Authority [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxAuthorityNameDomain" xlink:to="us-gaap_IncomeTaxAuthorityNameDomain" xlink:title="label: IncomeTaxAuthorityNameDomain to us-gaap_IncomeTaxAuthorityNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="CanadaRevenueAgencyMember" xlink:title="CanadaRevenueAgencyMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CanadaRevenueAgencyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CanadaRevenueAgencyMember" xml:lang="en-US" id="us-gaap_CanadaRevenueAgencyMember">Canada [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CanadaRevenueAgencyMember" xlink:to="us-gaap_CanadaRevenueAgencyMember" xlink:title="label: CanadaRevenueAgencyMember to us-gaap_CanadaRevenueAgencyMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxAuthoritySpainMember" xlink:label="TaxAuthoritySpainMember" xlink:title="TaxAuthoritySpainMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TaxAuthoritySpainMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TaxAuthoritySpainMember" xml:lang="en-US" id="us-gaap_TaxAuthoritySpainMember">Spain [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxAuthoritySpainMember" xlink:to="us-gaap_TaxAuthoritySpainMember" xlink:title="label: TaxAuthoritySpainMember to us-gaap_TaxAuthoritySpainMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="StockRepurchaseProgramAuthorizedAmount1" xlink:title="StockRepurchaseProgramAuthorizedAmount1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockRepurchaseProgramAuthorizedAmount1" xml:lang="en-US" id="us-gaap_StockRepurchaseProgramAuthorizedAmount1">Repurchase of common stock shares</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchaseProgramAuthorizedAmount1" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:title="label: StockRepurchaseProgramAuthorizedAmount1 to us-gaap_StockRepurchaseProgramAuthorizedAmount1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:title="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xml:lang="en-US" id="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1">Remaining repurchase of common stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:title="label: StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1 to us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanTable" xlink:label="DefinedContributionPlanTable" xlink:title="DefinedContributionPlanTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedContributionPlanTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DefinedContributionPlanTable" xml:lang="en-US" id="us-gaap_DefinedContributionPlanTable">Defined Contribution Plan [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedContributionPlanTable" xlink:to="us-gaap_DefinedContributionPlanTable" xlink:title="label: DefinedContributionPlanTable to us-gaap_DefinedContributionPlanTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredIncomeTaxAssetsNet" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxAssetsNet">Deferred income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" xlink:title="label: DeferredIncomeTaxAssetsNet to us-gaap_DeferredIncomeTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxAssetsNet_lbl1">Deferred Income Tax Assets, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xlink:title="label: DeferredIncomeTaxAssetsNet to us-gaap_DeferredIncomeTaxAssetsNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="DeferredIncomeTaxLiabilitiesNet" xlink:title="DeferredIncomeTaxLiabilitiesNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxLiabilitiesNet" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxLiabilitiesNet">Deferred income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:title="label: DeferredIncomeTaxLiabilitiesNet to us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:title="CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xml:lang="en-US" id="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract">Current provision (benefit) [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:title="label: CurrentFederalStateAndLocalTaxExpenseBenefitAbstract to us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:title="DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xml:lang="en-US" id="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract">Deferred provision (benefit) [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:title="label: DeferredFederalStateAndLocalTaxExpenseBenefitAbstract to us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember" xlink:label="NonUsMember" xlink:title="NonUsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonUsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NonUsMember" xml:lang="en-US" id="us-gaap_NonUsMember">Foreign Countries [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonUsMember" xlink:to="us-gaap_NonUsMember" xlink:title="label: NonUsMember to us-gaap_NonUsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="TreasuryStockCommonMember" xlink:title="TreasuryStockCommonMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockCommonMember" xml:lang="en-US" id="us-gaap_TreasuryStockCommonMember">Treasury Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember" xlink:title="label: TreasuryStockCommonMember to us-gaap_TreasuryStockCommonMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="TreasuryStockCommonShares" xlink:title="TreasuryStockCommonShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockCommonShares" xml:lang="en-US" id="us-gaap_TreasuryStockCommonShares">Treasury stock, shares (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares" xlink:title="label: TreasuryStockCommonShares to us-gaap_TreasuryStockCommonShares" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="TreasuryStockCommonValue" xlink:title="TreasuryStockCommonValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_TreasuryStockCommonValue" xml:lang="en-US" id="us-gaap_TreasuryStockCommonValue">Treasury stock at cost (1,424,376 shares at December 31, 2023 and December 31, 2022)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue" xlink:title="label: TreasuryStockCommonValue to us-gaap_TreasuryStockCommonValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockCommonValue_lbl1" xml:lang="en-US" id="us-gaap_TreasuryStockCommonValue_lbl1">Treasury Stock, Common, Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl1" xlink:title="label: TreasuryStockCommonValue to us-gaap_TreasuryStockCommonValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="AccountingStandardsUpdate201602Member" xlink:title="AccountingStandardsUpdate201602Member" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AccountingStandardsUpdate201602Member" xml:lang="en-US" id="us-gaap_AccountingStandardsUpdate201602Member">ASU 2016-02 [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountingStandardsUpdate201602Member" xlink:to="us-gaap_AccountingStandardsUpdate201602Member" xlink:title="label: AccountingStandardsUpdate201602Member to us-gaap_AccountingStandardsUpdate201602Member" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountingStandardsUpdate201602Member_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountingStandardsUpdate201602Member_lbl1" xml:lang="en-US" id="us-gaap_AccountingStandardsUpdate201602Member_lbl1">Accounting Standards Update 2016-02 [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountingStandardsUpdate201602Member" xlink:to="us-gaap_AccountingStandardsUpdate201602Member_lbl1" xlink:title="label: AccountingStandardsUpdate201602Member to us-gaap_AccountingStandardsUpdate201602Member_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostAbstract" xlink:label="LeaseCostAbstract" xlink:title="LeaseCostAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LeaseCostAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LeaseCostAbstract" xml:lang="en-US" id="us-gaap_LeaseCostAbstract">Lease Cost [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseCostAbstract" xlink:to="us-gaap_LeaseCostAbstract" xlink:title="label: LeaseCostAbstract to us-gaap_LeaseCostAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="LeaseCost" xlink:title="LeaseCost" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LeaseCost" xml:lang="en-US" id="us-gaap_LeaseCost">Total lease cost</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseCost" xlink:to="us-gaap_LeaseCost" xlink:title="label: LeaseCost to us-gaap_LeaseCost" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="OperatingLeaseCost" xlink:title="OperatingLeaseCost" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseCost" xml:lang="en-US" id="us-gaap_OperatingLeaseCost">Operating lease cost</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost" xlink:title="label: OperatingLeaseCost to us-gaap_OperatingLeaseCost" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermLeaseCost" xlink:label="ShortTermLeaseCost" xlink:title="ShortTermLeaseCost" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShortTermLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShortTermLeaseCost" xml:lang="en-US" id="us-gaap_ShortTermLeaseCost">Short-term lease cost</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShortTermLeaseCost" xlink:to="us-gaap_ShortTermLeaseCost" xlink:title="label: ShortTermLeaseCost to us-gaap_ShortTermLeaseCost" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableLeaseCost" xlink:label="VariableLeaseCost" xlink:title="VariableLeaseCost" />
    <link:label xlink:type="resource" xlink:label="us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_VariableLeaseCost" xml:lang="en-US" id="us-gaap_VariableLeaseCost">Variable lease cost</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VariableLeaseCost" xlink:to="us-gaap_VariableLeaseCost" xlink:title="label: VariableLeaseCost to us-gaap_VariableLeaseCost" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:title="FinanceLeaseLiabilitiesPaymentsDueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract">Maturities of Finance Lease Liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:title="label: FinanceLeaseLiabilitiesPaymentsDueAbstract to us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl1">Finance Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl1" xlink:title="label: FinanceLeaseLiabilitiesPaymentsDueAbstract to us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueAbstract" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueAbstract">Disaggregated revenue [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueAbstract" xlink:title="label: DisaggregationOfRevenueAbstract to us-gaap_DisaggregationOfRevenueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="DisaggregationOfRevenueTableTextBlock" xlink:title="DisaggregationOfRevenueTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueTableTextBlock" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTableTextBlock">Disaggregated Revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:title="label: DisaggregationOfRevenueTableTextBlock to us-gaap_DisaggregationOfRevenueTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueTable" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTable">Disaggregation of Revenue [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable" xlink:title="label: DisaggregationOfRevenueTable to us-gaap_DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueLineItems" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueLineItems">Disaggregation of Revenue [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" xlink:title="label: DisaggregationOfRevenueLineItems to us-gaap_DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:label="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:title="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss">Sales return allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:to="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:title="label: ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss to us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl1">Contract with Customer, Asset, Allowance for Credit Loss</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:to="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl1" xlink:title="label: ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss to us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="ContractWithCustomerLiabilityRevenueRecognized" xlink:title="ContractWithCustomerLiabilityRevenueRecognized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityRevenueRecognized">Revenue recognized from redemption of gift cards</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:title="label: ContractWithCustomerLiabilityRevenueRecognized to us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl1">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl1" xlink:title="label: ContractWithCustomerLiabilityRevenueRecognized to us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="RevenueFromContractWithCustomerAbstract" xlink:title="RevenueFromContractWithCustomerAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenueFromContractWithCustomerAbstract" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerAbstract">Revenue recognition [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:title="label: RevenueFromContractWithCustomerAbstract to us-gaap_RevenueFromContractWithCustomerAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerAbstract_lbl1" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerAbstract_lbl1">Revenue from Contract with Customer [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl1" xlink:title="label: RevenueFromContractWithCustomerAbstract to us-gaap_RevenueFromContractWithCustomerAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="ContractWithCustomerLiability" xlink:title="ContractWithCustomerLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerLiability" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiability">Contract with customer liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability" xlink:title="label: ContractWithCustomerLiability to us-gaap_ContractWithCustomerLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerLiability_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiability_lbl1">Contract with Customer, Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl1" xlink:title="label: ContractWithCustomerLiability to us-gaap_ContractWithCustomerLiability_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="FinanceLeaseRightOfUseAsset" xlink:title="FinanceLeaseRightOfUseAsset" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseRightOfUseAsset" xml:lang="en-US" id="us-gaap_FinanceLeaseRightOfUseAsset">Financing lease assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseRightOfUseAsset" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" xlink:title="label: FinanceLeaseRightOfUseAsset to us-gaap_FinanceLeaseRightOfUseAsset" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_OperatingLeaseRightOfUseAsset" xml:lang="en-US" id="us-gaap_OperatingLeaseRightOfUseAsset">Operating lease assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:title="label: OperatingLeaseRightOfUseAsset to us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseRightOfUseAsset1" xml:lang="en-US" id="us-gaap_OperatingLeaseRightOfUseAsset1">Operating lease assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset1" xlink:title="label: OperatingLeaseRightOfUseAsset to us-gaap_OperatingLeaseRightOfUseAsset1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="OperatingLeaseLiabilitiesPaymentsDueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract">Maturity of Operating Lease Liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="label: OperatingLeaseLiabilitiesPaymentsDueAbstract to us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">Net sales</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="label: RevenueFromContractWithCustomerExcludingAssessedTax to us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1">Sales</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1" xlink:title="label: RevenueFromContractWithCustomerExcludingAssessedTax to us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="RetirementPlanTypeAxis" xlink:title="RetirementPlanTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RetirementPlanTypeAxis" xml:lang="en-US" id="us-gaap_RetirementPlanTypeAxis">Retirement Plan Type [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:title="label: RetirementPlanTypeAxis to us-gaap_RetirementPlanTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="RetirementPlanTypeDomain" xlink:title="RetirementPlanTypeDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RetirementPlanTypeDomain" xml:lang="en-US" id="us-gaap_RetirementPlanTypeDomain">Retirement Plan Type [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RetirementPlanTypeDomain" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:title="label: RetirementPlanTypeDomain to us-gaap_RetirementPlanTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="LesseeLeaseDescriptionTable" xlink:title="LesseeLeaseDescriptionTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeLeaseDescriptionTable" xml:lang="en-US" id="us-gaap_LesseeLeaseDescriptionTable">Lessee, Lease, Description [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionTable" xlink:title="label: LesseeLeaseDescriptionTable to us-gaap_LesseeLeaseDescriptionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="LesseeLeaseDescriptionLineItems" xlink:title="LesseeLeaseDescriptionLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeLeaseDescriptionLineItems" xml:lang="en-US" id="us-gaap_LesseeLeaseDescriptionLineItems">Lessee, Lease, Description [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems" xlink:title="label: LesseeLeaseDescriptionLineItems to us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US" id="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">Effect of exchange rate changes on cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="label: EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">Net increase (decrease) in cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">Cash and cash equivalents, beginning of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1">Cash and cash equivalents, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="OperatingLeasePayments" xlink:title="OperatingLeasePayments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeasePayments" xml:lang="en-US" id="us-gaap_OperatingLeasePayments">Operating cash flows used in operating leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments" xlink:title="label: OperatingLeasePayments to us-gaap_OperatingLeasePayments" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="FinanceLeasePrincipalPayments" xlink:title="FinanceLeasePrincipalPayments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_FinanceLeasePrincipalPayments" xml:lang="en-US" id="us-gaap_FinanceLeasePrincipalPayments">Payment of finance lease obligations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeasePrincipalPayments" xlink:to="us-gaap_FinanceLeasePrincipalPayments" xlink:title="label: FinanceLeasePrincipalPayments to us-gaap_FinanceLeasePrincipalPayments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeasePrincipalPayments1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeasePrincipalPayments1" xml:lang="en-US" id="us-gaap_FinanceLeasePrincipalPayments1">Financing cash flows used in finance leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeasePrincipalPayments" xlink:to="us-gaap_FinanceLeasePrincipalPayments1" xlink:title="label: FinanceLeasePrincipalPayments to us-gaap_FinanceLeasePrincipalPayments1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeasePrincipalPayments_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeasePrincipalPayments_lbl2" xml:lang="en-US" id="us-gaap_FinanceLeasePrincipalPayments_lbl2">Finance Lease, Principal Payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeasePrincipalPayments" xlink:to="us-gaap_FinanceLeasePrincipalPayments_lbl2" xlink:title="label: FinanceLeasePrincipalPayments to us-gaap_FinanceLeasePrincipalPayments_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="FinanceLeaseWeightedAverageDiscountRatePercent" xlink:title="FinanceLeaseWeightedAverageDiscountRatePercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xml:lang="en-US" id="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent">Finance leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:title="label: FinanceLeaseWeightedAverageDiscountRatePercent to us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl1">Finance Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl1" xlink:title="label: FinanceLeaseWeightedAverageDiscountRatePercent to us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">Operating leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="label: OperatingLeaseWeightedAverageDiscountRatePercent to us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" xlink:title="label: OperatingLeaseWeightedAverageDiscountRatePercent to us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">Total lease payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDue to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDue to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">Thereafter</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl1">Lessee, Operating Lease, Liability, to be Paid, after Year Five</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">2024</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">2028</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearFive to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year Five</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearFive to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">2027</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearFour to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearFour to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">2026</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearThree to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearThree to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">2025</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearTwo to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearTwo to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">Maturity of Lease Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="label: LesseeOperatingLeaseLiabilityMaturityTableTextBlock to us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1">Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityMaturityTableTextBlock to us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="FinanceLeaseRightOfUseAssetAmortization" xlink:title="FinanceLeaseRightOfUseAssetAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xml:lang="en-US" id="us-gaap_FinanceLeaseRightOfUseAssetAmortization">Amortization of finance lease assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:title="label: FinanceLeaseRightOfUseAssetAmortization to us-gaap_FinanceLeaseRightOfUseAssetAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl1">Finance Lease, Right-of-Use Asset, Amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl1" xlink:title="label: FinanceLeaseRightOfUseAssetAmortization to us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="FinanceLeaseLiability" xlink:title="FinanceLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseLiability" xml:lang="en-US" id="us-gaap_FinanceLeaseLiability">Present value of lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiability" xlink:title="label: FinanceLeaseLiability to us-gaap_FinanceLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiability_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseLiability_lbl1">Finance Lease, Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiability_lbl1" xlink:title="label: FinanceLeaseLiability to us-gaap_FinanceLeaseLiability_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="FinanceLeaseLiabilityCurrent" xlink:title="FinanceLeaseLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityCurrent" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityCurrent">Current portion of finance lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" xlink:title="label: FinanceLeaseLiabilityCurrent to us-gaap_FinanceLeaseLiabilityCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:title="FinanceLeaseLiabilityUndiscountedExcessAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount">Less: Interest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:title="label: FinanceLeaseLiabilityUndiscountedExcessAmount to us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl1">Finance Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl1" xlink:title="label: FinanceLeaseLiabilityUndiscountedExcessAmount to us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="FinanceLeaseLiabilityNoncurrent" xlink:title="FinanceLeaseLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityNoncurrent" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityNoncurrent">Finance lease liabilities, non-current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:title="label: FinanceLeaseLiabilityNoncurrent to us-gaap_FinanceLeaseLiabilityNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="FinanceLeaseLiabilityPaymentsDue" xlink:title="FinanceLeaseLiabilityPaymentsDue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDue" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDue">Total lease payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:title="label: FinanceLeaseLiabilityPaymentsDue to us-gaap_FinanceLeaseLiabilityPaymentsDue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl1">Finance Lease, Liability, to be Paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl1" xlink:title="label: FinanceLeaseLiabilityPaymentsDue to us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="FinanceLeaseLiabilityPaymentsDueAfterYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive">Thereafter</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="label: FinanceLeaseLiabilityPaymentsDueAfterYearFive to us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_lbl1">Finance Lease, Liability, to be Paid, after Year Five</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_lbl1" xlink:title="label: FinanceLeaseLiabilityPaymentsDueAfterYearFive to us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths">2024</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="label: FinanceLeaseLiabilityPaymentsDueNextTwelveMonths to us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1">Finance Lease, Liability, to be Paid, Year One</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" xlink:title="label: FinanceLeaseLiabilityPaymentsDueNextTwelveMonths to us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="FinanceLeaseLiabilityPaymentsDueYearFive" xlink:title="FinanceLeaseLiabilityPaymentsDueYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive">2028</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:title="label: FinanceLeaseLiabilityPaymentsDueYearFive to us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_lbl1">Finance Lease, Liability, to be Paid, Year Five</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_lbl1" xlink:title="label: FinanceLeaseLiabilityPaymentsDueYearFive to us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="FinanceLeaseLiabilityPaymentsDueYearFour" xlink:title="FinanceLeaseLiabilityPaymentsDueYearFour" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour">2027</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:title="label: FinanceLeaseLiabilityPaymentsDueYearFour to us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_lbl1">Finance Lease, Liability, to be Paid, Year Four</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_lbl1" xlink:title="label: FinanceLeaseLiabilityPaymentsDueYearFour to us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="FinanceLeaseLiabilityPaymentsDueYearThree" xlink:title="FinanceLeaseLiabilityPaymentsDueYearThree" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree">2026</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:title="label: FinanceLeaseLiabilityPaymentsDueYearThree to us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl1">Finance Lease, Liability, to be Paid, Year Three</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl1" xlink:title="label: FinanceLeaseLiabilityPaymentsDueYearThree to us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:title="FinanceLeaseLiabilityPaymentsDueYearTwo" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo">2025</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:title="label: FinanceLeaseLiabilityPaymentsDueYearTwo to us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl1">Finance Lease, Liability, to be Paid, Year Two</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl1" xlink:title="label: FinanceLeaseLiabilityPaymentsDueYearTwo to us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseImpairmentLoss" xlink:label="OperatingLeaseImpairmentLoss" xlink:title="OperatingLeaseImpairmentLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseImpairmentLoss" xml:lang="en-US" id="us-gaap_OperatingLeaseImpairmentLoss">Operating lease asset impairment expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseImpairmentLoss" xlink:to="us-gaap_OperatingLeaseImpairmentLoss" xlink:title="label: OperatingLeaseImpairmentLoss to us-gaap_OperatingLeaseImpairmentLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseImpairmentLoss_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseImpairmentLoss_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseImpairmentLoss_lbl1">Operating Lease, Impairment Loss</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseImpairmentLoss" xlink:to="us-gaap_OperatingLeaseImpairmentLoss_lbl1" xlink:title="label: OperatingLeaseImpairmentLoss to us-gaap_OperatingLeaseImpairmentLoss_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="FinanceLeaseInterestExpense" xlink:title="FinanceLeaseInterestExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseInterestExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseInterestExpense" xml:lang="en-US" id="us-gaap_FinanceLeaseInterestExpense">Interest on lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseInterestExpense" xlink:to="us-gaap_FinanceLeaseInterestExpense" xlink:title="label: FinanceLeaseInterestExpense to us-gaap_FinanceLeaseInterestExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseInterestExpense1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseInterestExpense1" xml:lang="en-US" id="us-gaap_FinanceLeaseInterestExpense1">Remaining finance leases interest expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseInterestExpense" xlink:to="us-gaap_FinanceLeaseInterestExpense1" xlink:title="label: FinanceLeaseInterestExpense to us-gaap_FinanceLeaseInterestExpense1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="FinanceLeaseInterestPaymentOnLiability" xlink:title="FinanceLeaseInterestPaymentOnLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseInterestPaymentOnLiability" xml:lang="en-US" id="us-gaap_FinanceLeaseInterestPaymentOnLiability">Operating cash flows used in finance leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseInterestPaymentOnLiability" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:title="label: FinanceLeaseInterestPaymentOnLiability to us-gaap_FinanceLeaseInterestPaymentOnLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl1">Finance Lease, Interest Payment on Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseInterestPaymentOnLiability" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl1" xlink:title="label: FinanceLeaseInterestPaymentOnLiability to us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="OperatingLeaseLiability" xlink:title="OperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseLiability" xml:lang="en-US" id="us-gaap_OperatingLeaseLiability">Present value of lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability" xlink:title="label: OperatingLeaseLiability to us-gaap_OperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiability_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseLiability_lbl1">Operating Lease, Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl1" xlink:title="label: OperatingLeaseLiability to us-gaap_OperatingLeaseLiability_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseLiabilityCurrent" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityCurrent">Current portion of operating lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:title="label: OperatingLeaseLiabilityCurrent to us-gaap_OperatingLeaseLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilityCurrent_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityCurrent_lbl1">Operating Lease, Liability, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl1" xlink:title="label: OperatingLeaseLiabilityCurrent to us-gaap_OperatingLeaseLiabilityCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">Less: Interest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="label: LesseeOperatingLeaseLiabilityUndiscountedExcessAmount to us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl1">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityUndiscountedExcessAmount to us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseLiabilityNoncurrent" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityNoncurrent">Operating lease liabilities, non-current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:title="label: OperatingLeaseLiabilityNoncurrent to us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1">Operating Lease, Liability, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" xlink:title="label: OperatingLeaseLiabilityNoncurrent to us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:title="FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">Finance Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:title="label: FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList to us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:title="FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList">Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:title="label: FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList to us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:title="FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xml:lang="en-US" id="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList">Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:title="label: FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList to us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:title="OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:title="label: OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList to us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:title="OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList">Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:title="label: OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList to us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:title="OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xml:lang="en-US" id="us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList">Operating Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:title="label: OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList to us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="LeaseCostTableTextBlock" xlink:title="LeaseCostTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LeaseCostTableTextBlock" xml:lang="en-US" id="us-gaap_LeaseCostTableTextBlock">Lease Cost</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock" xlink:title="label: LeaseCostTableTextBlock to us-gaap_LeaseCostTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="LesseeLeasesPolicyTextBlock" xlink:title="LesseeLeasesPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeLeasesPolicyTextBlock" xml:lang="en-US" id="us-gaap_LesseeLeasesPolicyTextBlock">Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock" xlink:title="label: LesseeLeasesPolicyTextBlock to us-gaap_LesseeLeasesPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeLeasesPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_LesseeLeasesPolicyTextBlock_lbl1">Lessee, Leases [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_lbl1" xlink:title="label: LesseeLeasesPolicyTextBlock to us-gaap_LesseeLeasesPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="LesseeOperatingLeasesTextBlock" xlink:title="LesseeOperatingLeasesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeasesTextBlock" xml:lang="en-US" id="us-gaap_LesseeOperatingLeasesTextBlock">LEASES</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock" xlink:title="label: LesseeOperatingLeasesTextBlock to us-gaap_LesseeOperatingLeasesTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="FinanceLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xml:lang="en-US" id="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1">Finance leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="label: FinanceLeaseWeightedAverageRemainingLeaseTerm1 to us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl1">Finance Lease, Weighted Average Remaining Lease Term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xlink:title="label: FinanceLeaseWeightedAverageRemainingLeaseTerm1 to us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">Operating leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="label: OperatingLeaseWeightedAverageRemainingLeaseTerm1 to us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xlink:title="label: OperatingLeaseWeightedAverageRemainingLeaseTerm1 to us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">Revenue recognition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="label: RevenueFromContractWithCustomerPolicyTextBlock to us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="ShippingAndHandlingMember" xlink:title="ShippingAndHandlingMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShippingAndHandlingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShippingAndHandlingMember" xml:lang="en-US" id="us-gaap_ShippingAndHandlingMember">Shipping and Handling [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShippingAndHandlingMember" xlink:to="us-gaap_ShippingAndHandlingMember" xlink:title="label: ShippingAndHandlingMember to us-gaap_ShippingAndHandlingMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="ShareBasedPaymentArrangementEmployeeMember" xlink:title="ShareBasedPaymentArrangementEmployeeMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedPaymentArrangementEmployeeMember" xml:lang="en-US" id="us-gaap_ShareBasedPaymentArrangementEmployeeMember">Employees [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedPaymentArrangementEmployeeMember" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:title="label: ShareBasedPaymentArrangementEmployeeMember to us-gaap_ShareBasedPaymentArrangementEmployeeMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl1">Share-Based Payment Arrangement, Employee [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedPaymentArrangementEmployeeMember" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl1" xlink:title="label: ShareBasedPaymentArrangementEmployeeMember to us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:title="OperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xml:lang="en-US" id="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">Operating lease asset amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:title="label: OperatingLeaseRightOfUseAssetAmortizationExpense to us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="IncreaseDecreaseInOperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingLeaseLiability">Operating lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:title="label: IncreaseDecreaseInOperatingLeaseLiability to us-gaap_IncreaseDecreaseInOperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1">Increase (Decrease) in Operating Lease Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" xlink:title="label: IncreaseDecreaseInOperatingLeaseLiability to us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:label xlink:type="resource" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_TitleOfIndividualWithRelationshipToEntityDomain" xml:lang="en-US" id="srt_TitleOfIndividualWithRelationshipToEntityDomain">Title of Individual [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="label: TitleOfIndividualWithRelationshipToEntityDomain to srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="NameOfMajorCustomerDomain" xlink:title="NameOfMajorCustomerDomain" />
    <link:label xlink:type="resource" xlink:label="srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_NameOfMajorCustomerDomain" xml:lang="en-US" id="srt_NameOfMajorCustomerDomain">Customer [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain" xlink:title="label: NameOfMajorCustomerDomain to srt_NameOfMajorCustomerDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember" xlink:label="DirectorMember" xlink:title="DirectorMember" />
    <link:label xlink:type="resource" xlink:label="srt_DirectorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="srt_DirectorMember" xml:lang="en-US" id="srt_DirectorMember">Non-Employee Director [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DirectorMember" xlink:to="srt_DirectorMember" xlink:title="label: DirectorMember to srt_DirectorMember" />
    <link:label xlink:type="resource" xlink:label="srt_DirectorMember1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_DirectorMember1" xml:lang="en-US" id="srt_DirectorMember1">Board of Directors [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DirectorMember" xlink:to="srt_DirectorMember1" xlink:title="label: DirectorMember to srt_DirectorMember1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="ChiefExecutiveOfficerMember" xlink:title="ChiefExecutiveOfficerMember" />
    <link:label xlink:type="resource" xlink:label="srt_ChiefExecutiveOfficerMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ChiefExecutiveOfficerMember" xml:lang="en-US" id="srt_ChiefExecutiveOfficerMember">Chief Executive Officer [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ChiefExecutiveOfficerMember" xlink:to="srt_ChiefExecutiveOfficerMember" xlink:title="label: ChiefExecutiveOfficerMember to srt_ChiefExecutiveOfficerMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:label xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_SegmentGeographicalDomain" xml:lang="en-US" id="srt_SegmentGeographicalDomain">Geographical [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain" xlink:title="label: SegmentGeographicalDomain to srt_SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:label xlink:type="resource" xlink:label="srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_StatementGeographicalAxis" xml:lang="en-US" id="srt_StatementGeographicalAxis">Geographical [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis" xlink:title="label: StatementGeographicalAxis to srt_StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="MajorCustomersAxis" xlink:title="MajorCustomersAxis" />
    <link:label xlink:type="resource" xlink:label="srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_MajorCustomersAxis" xml:lang="en-US" id="srt_MajorCustomersAxis">Customer [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis" xlink:title="label: MajorCustomersAxis to srt_MajorCustomersAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:label xlink:type="resource" xlink:label="srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RangeAxis" xml:lang="en-US" id="srt_RangeAxis">Statistical Measurement [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RangeAxis" xlink:to="srt_RangeAxis" xlink:title="label: RangeAxis to srt_RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:label xlink:type="resource" xlink:label="srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RangeMember" xml:lang="en-US" id="srt_RangeMember">Statistical Measurement [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RangeMember" xlink:to="srt_RangeMember" xlink:title="label: RangeMember to srt_RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:label xlink:type="resource" xlink:label="srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_MaximumMember" xml:lang="en-US" id="srt_MaximumMember">Maximum [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MaximumMember" xlink:to="srt_MaximumMember" xlink:title="label: MaximumMember to srt_MaximumMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:label xlink:type="resource" xlink:label="srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_MinimumMember" xml:lang="en-US" id="srt_MinimumMember">Minimum [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MinimumMember" xlink:to="srt_MinimumMember" xlink:title="label: MinimumMember to srt_MinimumMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfCondensedBalanceSheetTableTextBlock" xlink:label="ScheduleOfCondensedBalanceSheetTableTextBlock" xlink:title="ScheduleOfCondensedBalanceSheetTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="srt_ScheduleOfCondensedBalanceSheetTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ScheduleOfCondensedBalanceSheetTableTextBlock" xml:lang="en-US" id="srt_ScheduleOfCondensedBalanceSheetTableTextBlock">Inventory, Property and Equipment and Short-term Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfCondensedBalanceSheetTableTextBlock" xlink:to="srt_ScheduleOfCondensedBalanceSheetTableTextBlock" xlink:title="label: ScheduleOfCondensedBalanceSheetTableTextBlock to srt_ScheduleOfCondensedBalanceSheetTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="TitleOfIndividualAxis" xlink:title="TitleOfIndividualAxis" />
    <link:label xlink:type="resource" xlink:label="srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_TitleOfIndividualAxis" xml:lang="en-US" id="srt_TitleOfIndividualAxis">Title of Individual [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis" xlink:title="label: TitleOfIndividualAxis to srt_TitleOfIndividualAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain" xlink:title="ProductsAndServicesDomain" />
    <link:label xlink:type="resource" xlink:label="srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ProductsAndServicesDomain" xml:lang="en-US" id="srt_ProductsAndServicesDomain">Product and Service [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain" xlink:title="label: ProductsAndServicesDomain to srt_ProductsAndServicesDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="ProductOrServiceAxis" xlink:title="ProductOrServiceAxis" />
    <link:label xlink:type="resource" xlink:label="srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ProductOrServiceAxis" xml:lang="en-US" id="srt_ProductOrServiceAxis">Product and Service [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis" xlink:title="label: ProductOrServiceAxis to srt_ProductOrServiceAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementAxis" xlink:label="RestatementAxis" xlink:title="RestatementAxis" />
    <link:label xlink:type="resource" xlink:label="srt_RestatementAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RestatementAxis" xml:lang="en-US" id="srt_RestatementAxis">Revision of Prior Period [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestatementAxis" xlink:to="srt_RestatementAxis" xlink:title="label: RestatementAxis to srt_RestatementAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementDomain" xlink:label="RestatementDomain" xlink:title="RestatementDomain" />
    <link:label xlink:type="resource" xlink:label="srt_RestatementDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RestatementDomain" xml:lang="en-US" id="srt_RestatementDomain">Revision of Prior Period [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestatementDomain" xlink:to="srt_RestatementDomain" xlink:title="label: RestatementDomain to srt_RestatementDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" xlink:label="RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" xlink:title="RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" />
    <link:label xlink:type="resource" xlink:label="srt_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" xml:lang="en-US" id="srt_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember">Prior Period Adjustment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" xlink:to="srt_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" xlink:title="label: RevisionOfPriorPeriodErrorCorrectionAdjustmentMember to srt_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:label xlink:type="resource" xlink:label="country_CA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="country_CA" xml:lang="en-US" id="country_CA">Canada [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CA" xlink:to="country_CA" xlink:title="label: CA to country_CA" />
    <link:label xlink:type="resource" xlink:label="country_CA_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="country_CA_lbl1" xml:lang="en-US" id="country_CA_lbl1">CANADA</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CA" xlink:to="country_CA_lbl1" xlink:title="label: CA to country_CA_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_ES" xlink:label="ES" xlink:title="ES" />
    <link:label xlink:type="resource" xlink:label="country_ES" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="country_ES" xml:lang="en-US" id="country_ES">Spain [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ES" xlink:to="country_ES" xlink:title="label: ES to country_ES" />
    <link:label xlink:type="resource" xlink:label="country_ES_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="country_ES_lbl1" xml:lang="en-US" id="country_ES_lbl1">SPAIN</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ES" xlink:to="country_ES_lbl1" xlink:title="label: ES to country_ES_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:label xlink:type="resource" xlink:label="country_US" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="country_US" xml:lang="en-US" id="country_US">United States [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="US" xlink:to="country_US" xlink:title="label: US to country_US" />
    <link:label xlink:type="resource" xlink:label="country_US_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="country_US_lbl1" xml:lang="en-US" id="country_US_lbl1">UNITED STATES</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="US" xlink:to="country_US_lbl1" xlink:title="label: US to country_US_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="CoverAbstract" xlink:title="CoverAbstract" />
    <link:label xlink:type="resource" xlink:label="dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CoverAbstract" xml:lang="en-US" id="dei_CoverAbstract">Cover [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CoverAbstract" xlink:to="dei_CoverAbstract" xlink:title="label: CoverAbstract to dei_CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="DocumentType" xlink:title="DocumentType" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentType" xml:lang="en-US" id="dei_DocumentType">Document Type</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentType" xlink:to="dei_DocumentType" xlink:title="label: DocumentType to dei_DocumentType" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="DocumentAnnualReport" xlink:title="DocumentAnnualReport" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentAnnualReport" xml:lang="en-US" id="dei_DocumentAnnualReport">Document Annual Report</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport" xlink:title="label: DocumentAnnualReport to dei_DocumentAnnualReport" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="DocumentTransitionReport" xlink:title="DocumentTransitionReport" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentTransitionReport" xml:lang="en-US" id="dei_DocumentTransitionReport">Document Transition Report</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport" xlink:title="label: DocumentTransitionReport to dei_DocumentTransitionReport" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="DocumentFinStmtErrorCorrectionFlag" xlink:title="DocumentFinStmtErrorCorrectionFlag" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFinStmtErrorCorrectionFlag" xml:lang="en-US" id="dei_DocumentFinStmtErrorCorrectionFlag">Document Financial Statement Error Correction [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag" xlink:title="label: DocumentFinStmtErrorCorrectionFlag to dei_DocumentFinStmtErrorCorrectionFlag" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:label="DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:title="DocumentFinStmtRestatementRecoveryAnalysisFlag" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFinStmtRestatementRecoveryAnalysisFlag" xml:lang="en-US" id="dei_DocumentFinStmtRestatementRecoveryAnalysisFlag">Document Financial Statement Restatement Recovery Analysis [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:to="dei_DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:title="label: DocumentFinStmtRestatementRecoveryAnalysisFlag to dei_DocumentFinStmtRestatementRecoveryAnalysisFlag" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="EntityInteractiveDataCurrent" xlink:title="EntityInteractiveDataCurrent" />
    <link:label xlink:type="resource" xlink:label="dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityInteractiveDataCurrent" xml:lang="en-US" id="dei_EntityInteractiveDataCurrent">Entity Interactive Data Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent" xlink:title="label: EntityInteractiveDataCurrent to dei_EntityInteractiveDataCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="AmendmentFlag" xlink:title="AmendmentFlag" />
    <link:label xlink:type="resource" xlink:label="dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AmendmentFlag" xml:lang="en-US" id="dei_AmendmentFlag">Amendment Flag</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AmendmentFlag" xlink:to="dei_AmendmentFlag" xlink:title="label: AmendmentFlag to dei_AmendmentFlag" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="IcfrAuditorAttestationFlag" xlink:title="IcfrAuditorAttestationFlag" />
    <link:label xlink:type="resource" xlink:label="dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_IcfrAuditorAttestationFlag" xml:lang="en-US" id="dei_IcfrAuditorAttestationFlag">ICFR Auditor Attestation Flag</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag" xlink:title="label: IcfrAuditorAttestationFlag to dei_IcfrAuditorAttestationFlag" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="DocumentFiscalYearFocus" xlink:title="DocumentFiscalYearFocus" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFiscalYearFocus" xml:lang="en-US" id="dei_DocumentFiscalYearFocus">Document Fiscal Year Focus</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus" xlink:title="label: DocumentFiscalYearFocus to dei_DocumentFiscalYearFocus" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="DocumentFiscalPeriodFocus" xlink:title="DocumentFiscalPeriodFocus" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFiscalPeriodFocus" xml:lang="en-US" id="dei_DocumentFiscalPeriodFocus">Document Fiscal Period Focus</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:title="label: DocumentFiscalPeriodFocus to dei_DocumentFiscalPeriodFocus" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="DocumentPeriodEndDate" xlink:title="DocumentPeriodEndDate" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentPeriodEndDate" xml:lang="en-US" id="dei_DocumentPeriodEndDate">Document Period End Date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate" xlink:title="label: DocumentPeriodEndDate to dei_DocumentPeriodEndDate" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="EntityRegistrantName" xlink:title="EntityRegistrantName" />
    <link:label xlink:type="resource" xlink:label="dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityRegistrantName" xml:lang="en-US" id="dei_EntityRegistrantName">Entity Registrant Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityRegistrantName" xlink:to="dei_EntityRegistrantName" xlink:title="label: EntityRegistrantName to dei_EntityRegistrantName" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="EntityCentralIndexKey" xlink:title="EntityCentralIndexKey" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCentralIndexKey" xml:lang="en-US" id="dei_EntityCentralIndexKey">Entity Central Index Key</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey" xlink:title="label: EntityCentralIndexKey to dei_EntityCentralIndexKey" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="EntityFileNumber" xlink:title="EntityFileNumber" />
    <link:label xlink:type="resource" xlink:label="dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityFileNumber" xml:lang="en-US" id="dei_EntityFileNumber">Entity File Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityFileNumber" xlink:to="dei_EntityFileNumber" xlink:title="label: EntityFileNumber to dei_EntityFileNumber" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="EntityTaxIdentificationNumber" xlink:title="EntityTaxIdentificationNumber" />
    <link:label xlink:type="resource" xlink:label="dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityTaxIdentificationNumber" xml:lang="en-US" id="dei_EntityTaxIdentificationNumber">Entity Tax Identification Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber" xlink:title="label: EntityTaxIdentificationNumber to dei_EntityTaxIdentificationNumber" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="EntityIncorporationStateCountryCode" xlink:title="EntityIncorporationStateCountryCode" />
    <link:label xlink:type="resource" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityIncorporationStateCountryCode" xml:lang="en-US" id="dei_EntityIncorporationStateCountryCode">Entity Incorporation, State or Country Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:title="label: EntityIncorporationStateCountryCode to dei_EntityIncorporationStateCountryCode" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="CurrentFiscalYearEndDate" xlink:title="CurrentFiscalYearEndDate" />
    <link:label xlink:type="resource" xlink:label="dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CurrentFiscalYearEndDate" xml:lang="en-US" id="dei_CurrentFiscalYearEndDate">Current Fiscal Year End Date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate" xlink:title="label: CurrentFiscalYearEndDate to dei_CurrentFiscalYearEndDate" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="EntityWellKnownSeasonedIssuer" xlink:title="EntityWellKnownSeasonedIssuer" />
    <link:label xlink:type="resource" xlink:label="dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityWellKnownSeasonedIssuer" xml:lang="en-US" id="dei_EntityWellKnownSeasonedIssuer">Entity Well-known Seasoned Issuer</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer" xlink:title="label: EntityWellKnownSeasonedIssuer to dei_EntityWellKnownSeasonedIssuer" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="EntityVoluntaryFilers" xlink:title="EntityVoluntaryFilers" />
    <link:label xlink:type="resource" xlink:label="dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityVoluntaryFilers" xml:lang="en-US" id="dei_EntityVoluntaryFilers">Entity Voluntary Filers</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers" xlink:title="label: EntityVoluntaryFilers to dei_EntityVoluntaryFilers" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="EntityCurrentReportingStatus" xlink:title="EntityCurrentReportingStatus" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCurrentReportingStatus" xml:lang="en-US" id="dei_EntityCurrentReportingStatus">Entity Current Reporting Status</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus" xlink:title="label: EntityCurrentReportingStatus to dei_EntityCurrentReportingStatus" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="EntityShellCompany" xlink:title="EntityShellCompany" />
    <link:label xlink:type="resource" xlink:label="dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityShellCompany" xml:lang="en-US" id="dei_EntityShellCompany">Entity Shell Company</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityShellCompany" xlink:to="dei_EntityShellCompany" xlink:title="label: EntityShellCompany to dei_EntityShellCompany" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="EntityFilerCategory" xlink:title="EntityFilerCategory" />
    <link:label xlink:type="resource" xlink:label="dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityFilerCategory" xml:lang="en-US" id="dei_EntityFilerCategory">Entity Filer Category</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityFilerCategory" xlink:to="dei_EntityFilerCategory" xlink:title="label: EntityFilerCategory to dei_EntityFilerCategory" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="EntitySmallBusiness" xlink:title="EntitySmallBusiness" />
    <link:label xlink:type="resource" xlink:label="dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntitySmallBusiness" xml:lang="en-US" id="dei_EntitySmallBusiness">Entity Small Business</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness" xlink:title="label: EntitySmallBusiness to dei_EntitySmallBusiness" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="EntityEmergingGrowthCompany" xlink:title="EntityEmergingGrowthCompany" />
    <link:label xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityEmergingGrowthCompany" xml:lang="en-US" id="dei_EntityEmergingGrowthCompany">Entity Emerging Growth Company</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany" xlink:title="label: EntityEmergingGrowthCompany to dei_EntityEmergingGrowthCompany" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="EntityPublicFloat" xlink:title="EntityPublicFloat" />
    <link:label xlink:type="resource" xlink:label="dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityPublicFloat" xml:lang="en-US" id="dei_EntityPublicFloat">Entity Public Float</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityPublicFloat" xlink:to="dei_EntityPublicFloat" xlink:title="label: EntityPublicFloat to dei_EntityPublicFloat" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="EntityAddressAddressLine1" xlink:title="EntityAddressAddressLine1" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressAddressLine1" xml:lang="en-US" id="dei_EntityAddressAddressLine1">Entity Address, Address Line One</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1" xlink:title="label: EntityAddressAddressLine1 to dei_EntityAddressAddressLine1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="EntityAddressCityOrTown" xlink:title="EntityAddressCityOrTown" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressCityOrTown" xml:lang="en-US" id="dei_EntityAddressCityOrTown">Entity Address, City or Town</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown" xlink:title="label: EntityAddressCityOrTown to dei_EntityAddressCityOrTown" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="EntityAddressStateOrProvince" xlink:title="EntityAddressStateOrProvince" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressStateOrProvince" xml:lang="en-US" id="dei_EntityAddressStateOrProvince">Entity Address, State or Province</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince" xlink:title="label: EntityAddressStateOrProvince to dei_EntityAddressStateOrProvince" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="EntityAddressPostalZipCode" xlink:title="EntityAddressPostalZipCode" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressPostalZipCode" xml:lang="en-US" id="dei_EntityAddressPostalZipCode">Entity Address, Postal Zip Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode" xlink:title="label: EntityAddressPostalZipCode to dei_EntityAddressPostalZipCode" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="CityAreaCode" xlink:title="CityAreaCode" />
    <link:label xlink:type="resource" xlink:label="dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CityAreaCode" xml:lang="en-US" id="dei_CityAreaCode">City Area Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CityAreaCode" xlink:to="dei_CityAreaCode" xlink:title="label: CityAreaCode to dei_CityAreaCode" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="LocalPhoneNumber" xlink:title="LocalPhoneNumber" />
    <link:label xlink:type="resource" xlink:label="dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_LocalPhoneNumber" xml:lang="en-US" id="dei_LocalPhoneNumber">Local Phone Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber" xlink:title="label: LocalPhoneNumber to dei_LocalPhoneNumber" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="Security12bTitle" xlink:title="Security12bTitle" />
    <link:label xlink:type="resource" xlink:label="dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_Security12bTitle" xml:lang="en-US" id="dei_Security12bTitle">Title of 12(b) Security</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Security12bTitle" xlink:to="dei_Security12bTitle" xlink:title="label: Security12bTitle to dei_Security12bTitle" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="TradingSymbol" xlink:title="TradingSymbol" />
    <link:label xlink:type="resource" xlink:label="dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_TradingSymbol" xml:lang="en-US" id="dei_TradingSymbol">Trading Symbol</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TradingSymbol" xlink:to="dei_TradingSymbol" xlink:title="label: TradingSymbol to dei_TradingSymbol" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="SecurityExchangeName" xlink:title="SecurityExchangeName" />
    <link:label xlink:type="resource" xlink:label="dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_SecurityExchangeName" xml:lang="en-US" id="dei_SecurityExchangeName">Security Exchange Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SecurityExchangeName" xlink:to="dei_SecurityExchangeName" xlink:title="label: SecurityExchangeName to dei_SecurityExchangeName" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="EntityCommonStockSharesOutstanding" xlink:title="EntityCommonStockSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCommonStockSharesOutstanding" xml:lang="en-US" id="dei_EntityCommonStockSharesOutstanding">Entity Common Stock, Shares Outstanding</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:title="label: EntityCommonStockSharesOutstanding to dei_EntityCommonStockSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="AuditorName" xlink:title="AuditorName" />
    <link:label xlink:type="resource" xlink:label="dei_AuditorName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AuditorName" xml:lang="en-US" id="dei_AuditorName">Auditor Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AuditorName" xlink:to="dei_AuditorName" xlink:title="label: AuditorName to dei_AuditorName" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="AuditorLocation" xlink:title="AuditorLocation" />
    <link:label xlink:type="resource" xlink:label="dei_AuditorLocation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AuditorLocation" xml:lang="en-US" id="dei_AuditorLocation">Auditor Location</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AuditorLocation" xlink:to="dei_AuditorLocation" xlink:title="label: AuditorLocation to dei_AuditorLocation" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="AuditorFirmId" xlink:title="AuditorFirmId" />
    <link:label xlink:type="resource" xlink:label="dei_AuditorFirmId" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AuditorFirmId" xml:lang="en-US" id="dei_AuditorFirmId">Auditor Firm ID</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AuditorFirmId" xlink:to="dei_AuditorFirmId" xlink:title="label: AuditorFirmId to dei_AuditorFirmId" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ExpectedMerchandiseReturns" xlink:label="ExpectedMerchandiseReturns" xlink:title="ExpectedMerchandiseReturns" />
    <link:label xlink:type="resource" xlink:label="tlfa_ExpectedMerchandiseReturns_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_ExpectedMerchandiseReturns_lbl" xml:lang="en-US" id="tlfa_ExpectedMerchandiseReturns_lbl">Represents the carrying value as of the balance sheet date of the liability for expected merchandise returns.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExpectedMerchandiseReturns" xlink:to="tlfa_ExpectedMerchandiseReturns_lbl" xlink:title="label: ExpectedMerchandiseReturns to tlfa_ExpectedMerchandiseReturns_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_ExpectedMerchandiseReturns_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ExpectedMerchandiseReturns_lbl1" xml:lang="en-US" id="tlfa_ExpectedMerchandiseReturns_lbl1">Expected Merchandise Returns</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExpectedMerchandiseReturns" xlink:to="tlfa_ExpectedMerchandiseReturns_lbl1" xlink:title="label: ExpectedMerchandiseReturns to tlfa_ExpectedMerchandiseReturns_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_ExpectedMerchandiseReturns" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_ExpectedMerchandiseReturns" xml:lang="en-US" id="tlfa_ExpectedMerchandiseReturns">Estimated returns</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExpectedMerchandiseReturns" xlink:to="tlfa_ExpectedMerchandiseReturns" xlink:title="label: ExpectedMerchandiseReturns to tlfa_ExpectedMerchandiseReturns" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_JPMorganChaseBankNAMember" xlink:label="JPMorganChaseBankNAMember" xlink:title="JPMorganChaseBankNAMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_JPMorganChaseBankNAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_JPMorganChaseBankNAMember_lbl" xml:lang="en-US" id="tlfa_JPMorganChaseBankNAMember_lbl">The name of lender will provide the line of credit facility under the credit agreement.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="JPMorganChaseBankNAMember" xlink:to="tlfa_JPMorganChaseBankNAMember_lbl" xlink:title="label: JPMorganChaseBankNAMember to tlfa_JPMorganChaseBankNAMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_JPMorganChaseBankNAMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_JPMorganChaseBankNAMember_lbl1" xml:lang="en-US" id="tlfa_JPMorganChaseBankNAMember_lbl1">JP Morgan Chase Bank, N.A. [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="JPMorganChaseBankNAMember" xlink:to="tlfa_JPMorganChaseBankNAMember_lbl1" xlink:title="label: JPMorganChaseBankNAMember to tlfa_JPMorganChaseBankNAMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:label="InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:title="InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember_lbl" xml:lang="en-US" id="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember_lbl">A loan provided for by the Spanish government as part of a COVID-19 relief program to facilitate the continuation of employment and to attenuate the economic effects of the COVID-19 virus.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:to="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember_lbl" xlink:title="label: InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember to tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember_lbl1" xml:lang="en-US" id="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember_lbl1">Institute of Official Credit Guarantee for Small and Medium-sized Enterprises [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:to="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember_lbl1" xlink:title="label: InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember to tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xml:lang="en-US" id="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember">Institute of Official Credit Guarantee for Small and Medium-sized Enterprises [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:to="tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:title="label: InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember to tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:title="NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US" id="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl">Amount of increase in right-of-use asset in a noncash (or part noncash) transaction obtained in exchange for operating lease liability.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xlink:title="label: NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability to tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl1" xml:lang="en-US" id="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl1">Noncash or Part Noncash Transactions, Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl1" xlink:title="label: NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability to tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xml:lang="en-US" id="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">Operating lease assets obtained in exchange for lease liabilities, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:title="label: NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability to tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LeaseTermAndDiscountRateAbstract" xlink:label="LeaseTermAndDiscountRateAbstract" xlink:title="LeaseTermAndDiscountRateAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_LeaseTermAndDiscountRateAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_LeaseTermAndDiscountRateAbstract_lbl1" xml:lang="en-US" id="tlfa_LeaseTermAndDiscountRateAbstract_lbl1">Lease Term and Discount Rate [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseTermAndDiscountRateAbstract" xlink:to="tlfa_LeaseTermAndDiscountRateAbstract_lbl1" xlink:title="label: LeaseTermAndDiscountRateAbstract to tlfa_LeaseTermAndDiscountRateAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_LeaseTermAndDiscountRateAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_LeaseTermAndDiscountRateAbstract" xml:lang="en-US" id="tlfa_LeaseTermAndDiscountRateAbstract">Lease Term and Discount Rate [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseTermAndDiscountRateAbstract" xlink:to="tlfa_LeaseTermAndDiscountRateAbstract" xlink:title="label: LeaseTermAndDiscountRateAbstract to tlfa_LeaseTermAndDiscountRateAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_WeightedAverageDiscountRateAbstract" xlink:label="WeightedAverageDiscountRateAbstract" xlink:title="WeightedAverageDiscountRateAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_WeightedAverageDiscountRateAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_WeightedAverageDiscountRateAbstract_lbl1" xml:lang="en-US" id="tlfa_WeightedAverageDiscountRateAbstract_lbl1">Weighted-Average Discount Rate [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageDiscountRateAbstract" xlink:to="tlfa_WeightedAverageDiscountRateAbstract_lbl1" xlink:title="label: WeightedAverageDiscountRateAbstract to tlfa_WeightedAverageDiscountRateAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_WeightedAverageDiscountRateAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_WeightedAverageDiscountRateAbstract" xml:lang="en-US" id="tlfa_WeightedAverageDiscountRateAbstract">Weighted-Average Discount Rate [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageDiscountRateAbstract" xlink:to="tlfa_WeightedAverageDiscountRateAbstract" xlink:title="label: WeightedAverageDiscountRateAbstract to tlfa_WeightedAverageDiscountRateAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_WeightedAverageRemainingLeaseTermAbstract" xlink:label="WeightedAverageRemainingLeaseTermAbstract" xlink:title="WeightedAverageRemainingLeaseTermAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_WeightedAverageRemainingLeaseTermAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_WeightedAverageRemainingLeaseTermAbstract_lbl1" xml:lang="en-US" id="tlfa_WeightedAverageRemainingLeaseTermAbstract_lbl1">Weighted-Average Remaining Lease Term [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageRemainingLeaseTermAbstract" xlink:to="tlfa_WeightedAverageRemainingLeaseTermAbstract_lbl1" xlink:title="label: WeightedAverageRemainingLeaseTermAbstract to tlfa_WeightedAverageRemainingLeaseTermAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_WeightedAverageRemainingLeaseTermAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_WeightedAverageRemainingLeaseTermAbstract" xml:lang="en-US" id="tlfa_WeightedAverageRemainingLeaseTermAbstract">Weighted-Average Remaining Lease Term (Years) [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageRemainingLeaseTermAbstract" xlink:to="tlfa_WeightedAverageRemainingLeaseTermAbstract" xlink:title="label: WeightedAverageRemainingLeaseTermAbstract to tlfa_WeightedAverageRemainingLeaseTermAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_FiftyPercentContributionMember" xlink:label="FiftyPercentContributionMember" xlink:title="FiftyPercentContributionMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_FiftyPercentContributionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_FiftyPercentContributionMember_lbl" xml:lang="en-US" id="tlfa_FiftyPercentContributionMember_lbl">Percentage employer matches of the employee's percentage contribution matched.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiftyPercentContributionMember" xlink:to="tlfa_FiftyPercentContributionMember_lbl" xlink:title="label: FiftyPercentContributionMember to tlfa_FiftyPercentContributionMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_FiftyPercentContributionMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_FiftyPercentContributionMember_lbl1" xml:lang="en-US" id="tlfa_FiftyPercentContributionMember_lbl1">Fifty Percent Contribution [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiftyPercentContributionMember" xlink:to="tlfa_FiftyPercentContributionMember_lbl1" xlink:title="label: FiftyPercentContributionMember to tlfa_FiftyPercentContributionMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_FiftyPercentContributionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_FiftyPercentContributionMember" xml:lang="en-US" id="tlfa_FiftyPercentContributionMember">50% Contribution [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiftyPercentContributionMember" xlink:to="tlfa_FiftyPercentContributionMember" xlink:title="label: FiftyPercentContributionMember to tlfa_FiftyPercentContributionMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OneHundredPercentContributionMember" xlink:label="OneHundredPercentContributionMember" xlink:title="OneHundredPercentContributionMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_OneHundredPercentContributionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_OneHundredPercentContributionMember_lbl" xml:lang="en-US" id="tlfa_OneHundredPercentContributionMember_lbl">Percentage employer matches of the employee's percentage contribution matched.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OneHundredPercentContributionMember" xlink:to="tlfa_OneHundredPercentContributionMember_lbl" xlink:title="label: OneHundredPercentContributionMember to tlfa_OneHundredPercentContributionMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_OneHundredPercentContributionMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_OneHundredPercentContributionMember_lbl1" xml:lang="en-US" id="tlfa_OneHundredPercentContributionMember_lbl1">One Hundred Percent Contribution [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OneHundredPercentContributionMember" xlink:to="tlfa_OneHundredPercentContributionMember_lbl1" xlink:title="label: OneHundredPercentContributionMember to tlfa_OneHundredPercentContributionMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_OneHundredPercentContributionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_OneHundredPercentContributionMember" xml:lang="en-US" id="tlfa_OneHundredPercentContributionMember">100% Contribution [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OneHundredPercentContributionMember" xlink:to="tlfa_OneHundredPercentContributionMember" xlink:title="label: OneHundredPercentContributionMember to tlfa_OneHundredPercentContributionMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_TwoMajorCustomersMember" xlink:label="TwoMajorCustomersMember" xlink:title="TwoMajorCustomersMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoMajorCustomersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_TwoMajorCustomersMember_lbl" xml:lang="en-US" id="tlfa_TwoMajorCustomersMember_lbl">Two major customers to the entity.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoMajorCustomersMember" xlink:to="tlfa_TwoMajorCustomersMember_lbl" xlink:title="label: TwoMajorCustomersMember to tlfa_TwoMajorCustomersMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoMajorCustomersMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_TwoMajorCustomersMember_lbl1" xml:lang="en-US" id="tlfa_TwoMajorCustomersMember_lbl1">Two Major Customers [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoMajorCustomersMember" xlink:to="tlfa_TwoMajorCustomersMember_lbl1" xlink:title="label: TwoMajorCustomersMember to tlfa_TwoMajorCustomersMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ConcentrationRiskAbstract" xlink:label="ConcentrationRiskAbstract" xlink:title="ConcentrationRiskAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_ConcentrationRiskAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ConcentrationRiskAbstract_lbl1" xml:lang="en-US" id="tlfa_ConcentrationRiskAbstract_lbl1">Concentration Risk [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskAbstract" xlink:to="tlfa_ConcentrationRiskAbstract_lbl1" xlink:title="label: ConcentrationRiskAbstract to tlfa_ConcentrationRiskAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NumberOfMajorSuppliers" xlink:label="NumberOfMajorSuppliers" xlink:title="NumberOfMajorSuppliers" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfMajorSuppliers_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_NumberOfMajorSuppliers_lbl" xml:lang="en-US" id="tlfa_NumberOfMajorSuppliers_lbl">The number of major suppliers of the entity.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfMajorSuppliers" xlink:to="tlfa_NumberOfMajorSuppliers_lbl" xlink:title="label: NumberOfMajorSuppliers to tlfa_NumberOfMajorSuppliers_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfMajorSuppliers_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_NumberOfMajorSuppliers_lbl1" xml:lang="en-US" id="tlfa_NumberOfMajorSuppliers_lbl1">Number of Major Suppliers</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfMajorSuppliers" xlink:to="tlfa_NumberOfMajorSuppliers_lbl1" xlink:title="label: NumberOfMajorSuppliers to tlfa_NumberOfMajorSuppliers_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfMajorSuppliers" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_NumberOfMajorSuppliers" xml:lang="en-US" id="tlfa_NumberOfMajorSuppliers">Number of suppliers accounted for 55% of inventory purchases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfMajorSuppliers" xlink:to="tlfa_NumberOfMajorSuppliers" xlink:title="label: NumberOfMajorSuppliers to tlfa_NumberOfMajorSuppliers" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NumberOfMajorCustomers" xlink:label="NumberOfMajorCustomers" xlink:title="NumberOfMajorCustomers" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfMajorCustomers_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_NumberOfMajorCustomers_lbl" xml:lang="en-US" id="tlfa_NumberOfMajorCustomers_lbl">Number of major customers of the entity.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfMajorCustomers" xlink:to="tlfa_NumberOfMajorCustomers_lbl" xlink:title="label: NumberOfMajorCustomers to tlfa_NumberOfMajorCustomers_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfMajorCustomers_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_NumberOfMajorCustomers_lbl1" xml:lang="en-US" id="tlfa_NumberOfMajorCustomers_lbl1">Number of Major Customers</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfMajorCustomers" xlink:to="tlfa_NumberOfMajorCustomers_lbl1" xlink:title="label: NumberOfMajorCustomers to tlfa_NumberOfMajorCustomers_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfMajorCustomers" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="tlfa_NumberOfMajorCustomers" xml:lang="en-US" id="tlfa_NumberOfMajorCustomers">Number of customers accounted more than 0.5% of revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfMajorCustomers" xlink:to="tlfa_NumberOfMajorCustomers" xlink:title="label: NumberOfMajorCustomers to tlfa_NumberOfMajorCustomers" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_TenMajorSuppliersMember" xlink:label="TenMajorSuppliersMember" xlink:title="TenMajorSuppliersMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_TenMajorSuppliersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_TenMajorSuppliersMember_lbl" xml:lang="en-US" id="tlfa_TenMajorSuppliersMember_lbl">Ten major suppliers to the entity.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TenMajorSuppliersMember" xlink:to="tlfa_TenMajorSuppliersMember_lbl" xlink:title="label: TenMajorSuppliersMember to tlfa_TenMajorSuppliersMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_TenMajorSuppliersMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_TenMajorSuppliersMember_lbl1" xml:lang="en-US" id="tlfa_TenMajorSuppliersMember_lbl1">Ten Major Suppliers [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TenMajorSuppliersMember" xlink:to="tlfa_TenMajorSuppliersMember_lbl1" xlink:title="label: TenMajorSuppliersMember to tlfa_TenMajorSuppliersMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_FiveMajorCustomersMember" xlink:label="FiveMajorCustomersMember" xlink:title="FiveMajorCustomersMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_FiveMajorCustomersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_FiveMajorCustomersMember_lbl" xml:lang="en-US" id="tlfa_FiveMajorCustomersMember_lbl">Five major customers to the entity.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiveMajorCustomersMember" xlink:to="tlfa_FiveMajorCustomersMember_lbl" xlink:title="label: FiveMajorCustomersMember to tlfa_FiveMajorCustomersMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_FiveMajorCustomersMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_FiveMajorCustomersMember_lbl1" xml:lang="en-US" id="tlfa_FiveMajorCustomersMember_lbl1">Five Major Customers [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiveMajorCustomersMember" xlink:to="tlfa_FiveMajorCustomersMember_lbl1" xlink:title="label: FiveMajorCustomersMember to tlfa_FiveMajorCustomersMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OneMajorSupplierMember" xlink:label="OneMajorSupplierMember" xlink:title="OneMajorSupplierMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_OneMajorSupplierMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_OneMajorSupplierMember_lbl" xml:lang="en-US" id="tlfa_OneMajorSupplierMember_lbl">One major supplier to the entity.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OneMajorSupplierMember" xlink:to="tlfa_OneMajorSupplierMember_lbl" xlink:title="label: OneMajorSupplierMember to tlfa_OneMajorSupplierMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_OneMajorSupplierMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_OneMajorSupplierMember_lbl1" xml:lang="en-US" id="tlfa_OneMajorSupplierMember_lbl1">One Major Supplier [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OneMajorSupplierMember" xlink:to="tlfa_OneMajorSupplierMember_lbl1" xlink:title="label: OneMajorSupplierMember to tlfa_OneMajorSupplierMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_OneMajorSupplierMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_OneMajorSupplierMember" xml:lang="en-US" id="tlfa_OneMajorSupplierMember">One Major Supplier [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OneMajorSupplierMember" xlink:to="tlfa_OneMajorSupplierMember" xlink:title="label: OneMajorSupplierMember to tlfa_OneMajorSupplierMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NumberOfSuppliers" xlink:label="NumberOfSuppliers" xlink:title="NumberOfSuppliers" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfSuppliers_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_NumberOfSuppliers_lbl" xml:lang="en-US" id="tlfa_NumberOfSuppliers_lbl">The number of suppliers of the entity.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfSuppliers" xlink:to="tlfa_NumberOfSuppliers_lbl" xlink:title="label: NumberOfSuppliers to tlfa_NumberOfSuppliers_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfSuppliers_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_NumberOfSuppliers_lbl1" xml:lang="en-US" id="tlfa_NumberOfSuppliers_lbl1">Number of Suppliers</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfSuppliers" xlink:to="tlfa_NumberOfSuppliers_lbl1" xlink:title="label: NumberOfSuppliers to tlfa_NumberOfSuppliers_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfSuppliers" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_NumberOfSuppliers" xml:lang="en-US" id="tlfa_NumberOfSuppliers">Number of suppliers</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfSuppliers" xlink:to="tlfa_NumberOfSuppliers" xlink:title="label: NumberOfSuppliers to tlfa_NumberOfSuppliers" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" xlink:label="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:title="AccountsReceivableAndExpectedCreditLossesAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract_lbl1" xml:lang="en-US" id="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract_lbl1">Accounts Receivable And Expected Credit Losses [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:to="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract_lbl1" xlink:title="label: AccountsReceivableAndExpectedCreditLossesAbstract to tlfa_AccountsReceivableAndExpectedCreditLossesAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" xml:lang="en-US" id="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract">Accounts Receivable and Expected Credit Losses [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:to="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" xlink:title="label: AccountsReceivableAndExpectedCreditLossesAbstract to tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LeaseLiabilities" xlink:label="LeaseLiabilities" xlink:title="LeaseLiabilities" />
    <link:label xlink:type="resource" xlink:label="tlfa_LeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_LeaseLiabilities_lbl" xml:lang="en-US" id="tlfa_LeaseLiabilities_lbl">Amount of lease liabilities consisting of operating and finance lease as on balance sheet date.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseLiabilities" xlink:to="tlfa_LeaseLiabilities_lbl" xlink:title="label: LeaseLiabilities to tlfa_LeaseLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_LeaseLiabilities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_LeaseLiabilities_lbl1" xml:lang="en-US" id="tlfa_LeaseLiabilities_lbl1">Lease Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseLiabilities" xlink:to="tlfa_LeaseLiabilities_lbl1" xlink:title="label: LeaseLiabilities to tlfa_LeaseLiabilities_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_LeaseLiabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="tlfa_LeaseLiabilities" xml:lang="en-US" id="tlfa_LeaseLiabilities">Total lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseLiabilities" xlink:to="tlfa_LeaseLiabilities" xlink:title="label: LeaseLiabilities to tlfa_LeaseLiabilities" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OperatingLeaseNonCurrentLiabilityAbstract" xlink:label="OperatingLeaseNonCurrentLiabilityAbstract" xlink:title="OperatingLeaseNonCurrentLiabilityAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_OperatingLeaseNonCurrentLiabilityAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_OperatingLeaseNonCurrentLiabilityAbstract_lbl1" xml:lang="en-US" id="tlfa_OperatingLeaseNonCurrentLiabilityAbstract_lbl1">Operating Lease, Non-current Liability [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseNonCurrentLiabilityAbstract" xlink:to="tlfa_OperatingLeaseNonCurrentLiabilityAbstract_lbl1" xlink:title="label: OperatingLeaseNonCurrentLiabilityAbstract to tlfa_OperatingLeaseNonCurrentLiabilityAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_OperatingLeaseNonCurrentLiabilityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_OperatingLeaseNonCurrentLiabilityAbstract" xml:lang="en-US" id="tlfa_OperatingLeaseNonCurrentLiabilityAbstract">Noncurrent [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseNonCurrentLiabilityAbstract" xlink:to="tlfa_OperatingLeaseNonCurrentLiabilityAbstract" xlink:title="label: OperatingLeaseNonCurrentLiabilityAbstract to tlfa_OperatingLeaseNonCurrentLiabilityAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OperatingLeaseCurrentLiabilityAbstract" xlink:label="OperatingLeaseCurrentLiabilityAbstract" xlink:title="OperatingLeaseCurrentLiabilityAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_OperatingLeaseCurrentLiabilityAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_OperatingLeaseCurrentLiabilityAbstract_lbl1" xml:lang="en-US" id="tlfa_OperatingLeaseCurrentLiabilityAbstract_lbl1">Operating Lease, Current Liability [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseCurrentLiabilityAbstract" xlink:to="tlfa_OperatingLeaseCurrentLiabilityAbstract_lbl1" xlink:title="label: OperatingLeaseCurrentLiabilityAbstract to tlfa_OperatingLeaseCurrentLiabilityAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_OperatingLeaseCurrentLiabilityAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="tlfa_OperatingLeaseCurrentLiabilityAbstract" xml:lang="en-US" id="tlfa_OperatingLeaseCurrentLiabilityAbstract">Current [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseCurrentLiabilityAbstract" xlink:to="tlfa_OperatingLeaseCurrentLiabilityAbstract" xlink:title="label: OperatingLeaseCurrentLiabilityAbstract to tlfa_OperatingLeaseCurrentLiabilityAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_FinanceLeaseCostsAbstract" xlink:label="FinanceLeaseCostsAbstract" xlink:title="FinanceLeaseCostsAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_FinanceLeaseCostsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_FinanceLeaseCostsAbstract_lbl1" xml:lang="en-US" id="tlfa_FinanceLeaseCostsAbstract_lbl1">Finance Lease Costs [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseCostsAbstract" xlink:to="tlfa_FinanceLeaseCostsAbstract_lbl1" xlink:title="label: FinanceLeaseCostsAbstract to tlfa_FinanceLeaseCostsAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_FinanceLeaseCostsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_FinanceLeaseCostsAbstract" xml:lang="en-US" id="tlfa_FinanceLeaseCostsAbstract">Finance [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseCostsAbstract" xlink:to="tlfa_FinanceLeaseCostsAbstract" xlink:title="label: FinanceLeaseCostsAbstract to tlfa_FinanceLeaseCostsAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LeaseAssets" xlink:label="LeaseAssets" xlink:title="LeaseAssets" />
    <link:label xlink:type="resource" xlink:label="tlfa_LeaseAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_LeaseAssets_lbl" xml:lang="en-US" id="tlfa_LeaseAssets_lbl">Amount of lease assets consisting of operating and finance lease as on balance sheet date.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseAssets" xlink:to="tlfa_LeaseAssets_lbl" xlink:title="label: LeaseAssets to tlfa_LeaseAssets_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_LeaseAssets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_LeaseAssets_lbl1" xml:lang="en-US" id="tlfa_LeaseAssets_lbl1">Lease Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseAssets" xlink:to="tlfa_LeaseAssets_lbl1" xlink:title="label: LeaseAssets to tlfa_LeaseAssets_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_LeaseAssets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="tlfa_LeaseAssets" xml:lang="en-US" id="tlfa_LeaseAssets">Total assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseAssets" xlink:to="tlfa_LeaseAssets" xlink:title="label: LeaseAssets to tlfa_LeaseAssets" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ImpairmentExpenseMember" xlink:label="ImpairmentExpenseMember" xlink:title="ImpairmentExpenseMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_ImpairmentExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_ImpairmentExpenseMember_lbl" xml:lang="en-US" id="tlfa_ImpairmentExpenseMember_lbl">Primary financial statement caption encompassing impairment expenses.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ImpairmentExpenseMember" xlink:to="tlfa_ImpairmentExpenseMember_lbl" xlink:title="label: ImpairmentExpenseMember to tlfa_ImpairmentExpenseMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_ImpairmentExpenseMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ImpairmentExpenseMember_lbl1" xml:lang="en-US" id="tlfa_ImpairmentExpenseMember_lbl1">Impairment Expense [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ImpairmentExpenseMember" xlink:to="tlfa_ImpairmentExpenseMember_lbl1" xlink:title="label: ImpairmentExpenseMember to tlfa_ImpairmentExpenseMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_ImpairmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_ImpairmentExpenseMember" xml:lang="en-US" id="tlfa_ImpairmentExpenseMember">Impairment Expense [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ImpairmentExpenseMember" xlink:to="tlfa_ImpairmentExpenseMember" xlink:title="label: ImpairmentExpenseMember to tlfa_ImpairmentExpenseMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_BusinessDescriptionAbstract" xlink:label="BusinessDescriptionAbstract" xlink:title="BusinessDescriptionAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_BusinessDescriptionAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_BusinessDescriptionAbstract_lbl1" xml:lang="en-US" id="tlfa_BusinessDescriptionAbstract_lbl1">Business Description [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BusinessDescriptionAbstract" xlink:to="tlfa_BusinessDescriptionAbstract_lbl1" xlink:title="label: BusinessDescriptionAbstract to tlfa_BusinessDescriptionAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_BusinessDescriptionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_BusinessDescriptionAbstract" xml:lang="en-US" id="tlfa_BusinessDescriptionAbstract">Description of Business [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BusinessDescriptionAbstract" xlink:to="tlfa_BusinessDescriptionAbstract" xlink:title="label: BusinessDescriptionAbstract to tlfa_BusinessDescriptionAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ForeignCurrencyTranslationAndTransactionsTable" xlink:label="ForeignCurrencyTranslationAndTransactionsTable" xlink:title="ForeignCurrencyTranslationAndTransactionsTable" />
    <link:label xlink:type="resource" xlink:label="tlfa_ForeignCurrencyTranslationAndTransactionsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_ForeignCurrencyTranslationAndTransactionsTable_lbl" xml:lang="en-US" id="tlfa_ForeignCurrencyTranslationAndTransactionsTable_lbl">Disclosure of information about foreign currency translation and transactions.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTranslationAndTransactionsTable" xlink:to="tlfa_ForeignCurrencyTranslationAndTransactionsTable_lbl" xlink:title="label: ForeignCurrencyTranslationAndTransactionsTable to tlfa_ForeignCurrencyTranslationAndTransactionsTable_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_ForeignCurrencyTranslationAndTransactionsTable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ForeignCurrencyTranslationAndTransactionsTable_lbl1" xml:lang="en-US" id="tlfa_ForeignCurrencyTranslationAndTransactionsTable_lbl1">Foreign Currency Translation and Transactions [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTranslationAndTransactionsTable" xlink:to="tlfa_ForeignCurrencyTranslationAndTransactionsTable_lbl1" xlink:title="label: ForeignCurrencyTranslationAndTransactionsTable to tlfa_ForeignCurrencyTranslationAndTransactionsTable_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ForeignCurrencyTranslationAndTransactionsLineItems" xlink:label="ForeignCurrencyTranslationAndTransactionsLineItems" xlink:title="ForeignCurrencyTranslationAndTransactionsLineItems" />
    <link:label xlink:type="resource" xlink:label="tlfa_ForeignCurrencyTranslationAndTransactionsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_ForeignCurrencyTranslationAndTransactionsLineItems_lbl" xml:lang="en-US" id="tlfa_ForeignCurrencyTranslationAndTransactionsLineItems_lbl">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:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTranslationAndTransactionsLineItems" xlink:to="tlfa_ForeignCurrencyTranslationAndTransactionsLineItems_lbl" xlink:title="label: ForeignCurrencyTranslationAndTransactionsLineItems to tlfa_ForeignCurrencyTranslationAndTransactionsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_ForeignCurrencyTranslationAndTransactionsLineItems_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ForeignCurrencyTranslationAndTransactionsLineItems_lbl1" xml:lang="en-US" id="tlfa_ForeignCurrencyTranslationAndTransactionsLineItems_lbl1">Foreign Currency Translation and Transactions [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTranslationAndTransactionsLineItems" xlink:to="tlfa_ForeignCurrencyTranslationAndTransactionsLineItems_lbl1" xlink:title="label: ForeignCurrencyTranslationAndTransactionsLineItems to tlfa_ForeignCurrencyTranslationAndTransactionsLineItems_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ContractWithCustomerLiabilityForGiftCardsIssued" xlink:label="ContractWithCustomerLiabilityForGiftCardsIssued" xlink:title="ContractWithCustomerLiabilityForGiftCardsIssued" />
    <link:label xlink:type="resource" xlink:label="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued_lbl" xml:lang="en-US" id="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued_lbl">Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable recorded during the current reporting period, related to the Company's liability for outstanding gift cards. Retail customers purchase gift cards or gift certificates that can be redeemed at a later date for merchandise or services.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityForGiftCardsIssued" xlink:to="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued_lbl" xlink:title="label: ContractWithCustomerLiabilityForGiftCardsIssued to tlfa_ContractWithCustomerLiabilityForGiftCardsIssued_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued_lbl1" xml:lang="en-US" id="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued_lbl1">Contract With Customer Liability For Gift Cards Issued</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityForGiftCardsIssued" xlink:to="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued_lbl1" xlink:title="label: ContractWithCustomerLiabilityForGiftCardsIssued to tlfa_ContractWithCustomerLiabilityForGiftCardsIssued_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued" xml:lang="en-US" id="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued">Gift cards issued</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityForGiftCardsIssued" xlink:to="tlfa_ContractWithCustomerLiabilityForGiftCardsIssued" xlink:title="label: ContractWithCustomerLiabilityForGiftCardsIssued to tlfa_ContractWithCustomerLiabilityForGiftCardsIssued" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_GiftCardRedemptionPeriod" xlink:label="GiftCardRedemptionPeriod" xlink:title="GiftCardRedemptionPeriod" />
    <link:label xlink:type="resource" xlink:label="tlfa_GiftCardRedemptionPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_GiftCardRedemptionPeriod_lbl" xml:lang="en-US" id="tlfa_GiftCardRedemptionPeriod_lbl">Expected customer gift card redemption period, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GiftCardRedemptionPeriod" xlink:to="tlfa_GiftCardRedemptionPeriod_lbl" xlink:title="label: GiftCardRedemptionPeriod to tlfa_GiftCardRedemptionPeriod_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_GiftCardRedemptionPeriod_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_GiftCardRedemptionPeriod_lbl1" xml:lang="en-US" id="tlfa_GiftCardRedemptionPeriod_lbl1">Gift Card Redemption Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GiftCardRedemptionPeriod" xlink:to="tlfa_GiftCardRedemptionPeriod_lbl1" xlink:title="label: GiftCardRedemptionPeriod to tlfa_GiftCardRedemptionPeriod_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_GiftCardRedemptionPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_GiftCardRedemptionPeriod" xml:lang="en-US" id="tlfa_GiftCardRedemptionPeriod">Gift card redemption period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GiftCardRedemptionPeriod" xlink:to="tlfa_GiftCardRedemptionPeriod" xlink:title="label: GiftCardRedemptionPeriod to tlfa_GiftCardRedemptionPeriod" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_InventoryMerchandiseExpectedToBeReturned" xlink:label="InventoryMerchandiseExpectedToBeReturned" xlink:title="InventoryMerchandiseExpectedToBeReturned" />
    <link:label xlink:type="resource" xlink:label="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl" xml:lang="en-US" id="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl">Gross amount of merchandise or supplies to which the entity expected returns as of balance sheet date.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryMerchandiseExpectedToBeReturned" xlink:to="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl" xlink:title="label: InventoryMerchandiseExpectedToBeReturned to tlfa_InventoryMerchandiseExpectedToBeReturned_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl1" xml:lang="en-US" id="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl1">Inventory, Merchandise Expected to be Returned</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryMerchandiseExpectedToBeReturned" xlink:to="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl1" xlink:title="label: InventoryMerchandiseExpectedToBeReturned to tlfa_InventoryMerchandiseExpectedToBeReturned_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_InventoryMerchandiseExpectedToBeReturned" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="tlfa_InventoryMerchandiseExpectedToBeReturned" xml:lang="en-US" id="tlfa_InventoryMerchandiseExpectedToBeReturned">Estimate of merchandise expected to be returned</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryMerchandiseExpectedToBeReturned" xlink:to="tlfa_InventoryMerchandiseExpectedToBeReturned" xlink:title="label: InventoryMerchandiseExpectedToBeReturned to tlfa_InventoryMerchandiseExpectedToBeReturned" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OtherCountriesMember" xlink:label="OtherCountriesMember" xlink:title="OtherCountriesMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_OtherCountriesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_OtherCountriesMember_lbl" xml:lang="en-US" id="tlfa_OtherCountriesMember_lbl">All other countries excluding the United States and Canada.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherCountriesMember" xlink:to="tlfa_OtherCountriesMember_lbl" xlink:title="label: OtherCountriesMember to tlfa_OtherCountriesMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_OtherCountriesMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_OtherCountriesMember_lbl1" xml:lang="en-US" id="tlfa_OtherCountriesMember_lbl1">Other Countries [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherCountriesMember" xlink:to="tlfa_OtherCountriesMember_lbl1" xlink:title="label: OtherCountriesMember to tlfa_OtherCountriesMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_OtherCountriesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_OtherCountriesMember" xml:lang="en-US" id="tlfa_OtherCountriesMember">Other [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherCountriesMember" xlink:to="tlfa_OtherCountriesMember" xlink:title="label: OtherCountriesMember to tlfa_OtherCountriesMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" xlink:label="UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" xlink:title="UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" />
    <link:label xlink:type="resource" xlink:label="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense_lbl" xml:lang="en-US" id="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense_lbl">Amount of interest expense for an underpayment of income taxes including foreign income taxes.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" xlink:to="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense_lbl" xlink:title="label: UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense to tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense_lbl1" xml:lang="en-US" id="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense_lbl1">Unrecognized Tax Benefits, Interest on Income and Foreign Income Taxes Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" xlink:to="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense_lbl1" xlink:title="label: UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense to tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" xml:lang="en-US" id="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense">Interest expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" xlink:to="tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" xlink:title="label: UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense to tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:label="EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:title="EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" />
    <link:label xlink:type="resource" xlink:label="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent_lbl" xml:lang="en-US" id="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent_lbl">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 permanent book to income tax differences.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:to="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent to tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent_lbl1" xml:lang="en-US" id="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent_lbl1">Effective Income Tax Rate Reconciliation, Permanent Differences, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:to="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent to tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xml:lang="en-US" id="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent">Permanent book/tax differences</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:to="tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:title="label: EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent to tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:label="EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:title="EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" />
    <link:label xlink:type="resource" xlink:label="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent_lbl" xml:lang="en-US" id="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent_lbl">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 Interest on unrecognized tax benefit.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:to="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent to tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent_lbl1" xml:lang="en-US" id="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent_lbl1">Effective Income Tax Rate Reconciliation, Interest on Unrecognized Tax Benefit, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:to="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent to tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xml:lang="en-US" id="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent">Interest on Uncertain Tax Position</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:to="tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:title="label: EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent to tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_DeferredTaxAssetsAccountsReceivable" xlink:label="DeferredTaxAssetsAccountsReceivable" xlink:title="DeferredTaxAssetsAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="tlfa_DeferredTaxAssetsAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_DeferredTaxAssetsAccountsReceivable_lbl" xml:lang="en-US" id="tlfa_DeferredTaxAssetsAccountsReceivable_lbl">Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accounts receivable.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsAccountsReceivable" xlink:to="tlfa_DeferredTaxAssetsAccountsReceivable_lbl" xlink:title="label: DeferredTaxAssetsAccountsReceivable to tlfa_DeferredTaxAssetsAccountsReceivable_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_DeferredTaxAssetsAccountsReceivable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_DeferredTaxAssetsAccountsReceivable_lbl1" xml:lang="en-US" id="tlfa_DeferredTaxAssetsAccountsReceivable_lbl1">Deferred Tax Assets, Accounts Receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsAccountsReceivable" xlink:to="tlfa_DeferredTaxAssetsAccountsReceivable_lbl1" xlink:title="label: DeferredTaxAssetsAccountsReceivable to tlfa_DeferredTaxAssetsAccountsReceivable_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_DeferredTaxAssetsAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_DeferredTaxAssetsAccountsReceivable" xml:lang="en-US" id="tlfa_DeferredTaxAssetsAccountsReceivable">Accounts receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsAccountsReceivable" xlink:to="tlfa_DeferredTaxAssetsAccountsReceivable" xlink:title="label: DeferredTaxAssetsAccountsReceivable to tlfa_DeferredTaxAssetsAccountsReceivable" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" xlink:label="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:title="TwoThousandAndThirteenRestrictedStockPlanMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl" xml:lang="en-US" id="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl">Refers to 2013 Restricted stock plan.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:to="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl" xlink:title="label: TwoThousandAndThirteenRestrictedStockPlanMember to tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl1" xml:lang="en-US" id="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl1">Two Thousand and Thirteen Restricted Stock Plan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:to="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl1" xlink:title="label: TwoThousandAndThirteenRestrictedStockPlanMember to tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" xml:lang="en-US" id="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember">2013 Restricted Stock Plan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:to="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" xlink:title="label: TwoThousandAndThirteenRestrictedStockPlanMember to tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:label="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="ServicedBasedRestrictedStockUnitsRSUsMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl" xml:lang="en-US" id="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl">Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:to="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl" xlink:title="label: ServicedBasedRestrictedStockUnitsRSUsMember to tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl1" xml:lang="en-US" id="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl1">Serviced Based Restricted Stock Units (RSUs) [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:to="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl1" xlink:title="label: ServicedBasedRestrictedStockUnitsRSUsMember to tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xml:lang="en-US" id="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember">Serviced Based Restricted Stock Units [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:to="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="label: ServicedBasedRestrictedStockUnitsRSUsMember to tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:label="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:title="TwoThousandAndTwentyThreeRestrictedStockPlanMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl" xml:lang="en-US" id="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl">Refers to 2023 Restricted stock plan.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:to="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl" xlink:title="label: TwoThousandAndTwentyThreeRestrictedStockPlanMember to tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl1" xml:lang="en-US" id="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl1">Two Thousand and Twenty Three Restricted Stock Plan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:to="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl1" xlink:title="label: TwoThousandAndTwentyThreeRestrictedStockPlanMember to tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" xml:lang="en-US" id="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember">2023 Restricted Stock Plan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:to="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:title="label: TwoThousandAndTwentyThreeRestrictedStockPlanMember to tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:label="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="PerformanceBasedRestrictedStockUnitsRSUsMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl" xml:lang="en-US" id="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl">Share instrument which is convertible to stock or an equivalent amount of cash, when specified performance conditions are met.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:to="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl" xlink:title="label: PerformanceBasedRestrictedStockUnitsRSUsMember to tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl1" xml:lang="en-US" id="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl1">Performance Based Restricted Stock Units (RSUs) [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:to="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl1" xlink:title="label: PerformanceBasedRestrictedStockUnitsRSUsMember to tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xml:lang="en-US" id="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember">Performance Based Restricted Stock Units [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:to="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="label: PerformanceBasedRestrictedStockUnitsRSUsMember to tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" />
    <link:label xlink:type="resource" xlink:label="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome_lbl" xml:lang="en-US" id="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome_lbl">Minimum amount of operating income to meet the performance condition.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:to="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome_lbl" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome to tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome_lbl1" xml:lang="en-US" id="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome_lbl1">tlf_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:to="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome_lbl1" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome to tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xml:lang="en-US" id="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome">Minimum amount of operating income, award vesting condition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:to="tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome to tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_RestrictedStockAndRestrictedStockUnitsMember" xlink:label="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="RestrictedStockAndRestrictedStockUnitsMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl" xml:lang="en-US" id="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl">Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met and 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.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockAndRestrictedStockUnitsMember" xlink:to="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl" xlink:title="label: RestrictedStockAndRestrictedStockUnitsMember to tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl1" xml:lang="en-US" id="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl1">Restricted Stock and Restricted Stock Units [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockAndRestrictedStockUnitsMember" xlink:to="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl1" xlink:title="label: RestrictedStockAndRestrictedStockUnitsMember to tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_RestrictedStockAndRestrictedStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="tlfa_RestrictedStockAndRestrictedStockUnitsMember" xml:lang="en-US" id="tlfa_RestrictedStockAndRestrictedStockUnitsMember">Restricted Stock and RSU [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockAndRestrictedStockUnitsMember" xlink:to="tlfa_RestrictedStockAndRestrictedStockUnitsMember" xlink:title="label: RestrictedStockAndRestrictedStockUnitsMember to tlfa_RestrictedStockAndRestrictedStockUnitsMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl">Unrecognized cost of unvested share-based compensation awards in excess of one year due in the fourth fiscal year following the latest fiscal year.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl1" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl1">Employee Service Share-based Compensation Non-vested Awards Compensation Cost Not Yet Recognized Due In Four Years</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears">2027</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl">Unrecognized cost of unvested share-based compensation awards due in excess of one year due in the second fiscal year following the latest fiscal year.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl1" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl1">Employee Service Share-based Compensation Non-vested Awards Compensation Cost Not Yet Recognized Due In Two Years</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears">2025</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl">Unrecognized cost of unvested share-based compensation awards in excess of one year due in the next fiscal year following the latest fiscal year.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths to tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl1" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl1">Employee Service Share-based Compensation Nonvested Awards Compensation Cost Not Yet Recognized Due In Next Twelve Months</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths to tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths">2024</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths to tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl">Unrecognized cost of unvested share-based compensation awards in excess of one year due in the third fiscal year following the latest fiscal year.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl1" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl1">Employee Service Share-based Compensation Non-vested Awards Compensation Cost Not Yet Recognized Due In Three Years</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears">2026</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_AccruedVendorPayablesCurrent" xlink:label="AccruedVendorPayablesCurrent" xlink:title="AccruedVendorPayablesCurrent" />
    <link:label xlink:type="resource" xlink:label="tlfa_AccruedVendorPayablesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_AccruedVendorPayablesCurrent_lbl" xml:lang="en-US" id="tlfa_AccruedVendorPayablesCurrent_lbl">Carrying value as of the balance sheet date of obligations incurred and payable to vendor. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedVendorPayablesCurrent" xlink:to="tlfa_AccruedVendorPayablesCurrent_lbl" xlink:title="label: AccruedVendorPayablesCurrent to tlfa_AccruedVendorPayablesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_AccruedVendorPayablesCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_AccruedVendorPayablesCurrent_lbl1" xml:lang="en-US" id="tlfa_AccruedVendorPayablesCurrent_lbl1">Accrued Vendor Payables Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedVendorPayablesCurrent" xlink:to="tlfa_AccruedVendorPayablesCurrent_lbl1" xlink:title="label: AccruedVendorPayablesCurrent to tlfa_AccruedVendorPayablesCurrent_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_AccruedVendorPayablesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_AccruedVendorPayablesCurrent" xml:lang="en-US" id="tlfa_AccruedVendorPayablesCurrent">Accrued vendor payables</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedVendorPayablesCurrent" xlink:to="tlfa_AccruedVendorPayablesCurrent" xlink:title="label: AccruedVendorPayablesCurrent to tlfa_AccruedVendorPayablesCurrent" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:label="ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:title="ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" />
    <link:label xlink:type="resource" xlink:label="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards_lbl" xml:lang="en-US" id="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards_lbl">Carrying value as of the balance sheet date of the liability for outstanding gift cards. Retail customers purchase gift cards or gift certificates that can be redeemed at a later date for merchandise or services; those unredeemed represent a liability of the entity because the revenue is being deferred.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:to="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards_lbl" xlink:title="label: ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards to tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards_lbl1" xml:lang="en-US" id="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards_lbl1">Contract with Customer, Accrued Liabilities For Unredeemed Gift Cards</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:to="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards_lbl1" xlink:title="label: ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards to tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xml:lang="en-US" id="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards">Unearned gift card revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:to="tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:title="label: ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards to tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_SalesAndPayrollTaxesPayable" xlink:label="SalesAndPayrollTaxesPayable" xlink:title="SalesAndPayrollTaxesPayable" />
    <link:label xlink:type="resource" xlink:label="tlfa_SalesAndPayrollTaxesPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_SalesAndPayrollTaxesPayable_lbl" xml:lang="en-US" id="tlfa_SalesAndPayrollTaxesPayable_lbl">Represents to the carrying amount of sales and payroll taxes payable as of the balance sheet date.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SalesAndPayrollTaxesPayable" xlink:to="tlfa_SalesAndPayrollTaxesPayable_lbl" xlink:title="label: SalesAndPayrollTaxesPayable to tlfa_SalesAndPayrollTaxesPayable_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_SalesAndPayrollTaxesPayable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_SalesAndPayrollTaxesPayable_lbl1" xml:lang="en-US" id="tlfa_SalesAndPayrollTaxesPayable_lbl1">Sales and Payroll Taxes Payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SalesAndPayrollTaxesPayable" xlink:to="tlfa_SalesAndPayrollTaxesPayable_lbl1" xlink:title="label: SalesAndPayrollTaxesPayable to tlfa_SalesAndPayrollTaxesPayable_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_SalesAndPayrollTaxesPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_SalesAndPayrollTaxesPayable" xml:lang="en-US" id="tlfa_SalesAndPayrollTaxesPayable">Sales and payroll taxes payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SalesAndPayrollTaxesPayable" xlink:to="tlfa_SalesAndPayrollTaxesPayable" xlink:title="label: SalesAndPayrollTaxesPayable to tlfa_SalesAndPayrollTaxesPayable" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_RevenueRecognitionDiscountsPolicyTextBlock" xlink:label="RevenueRecognitionDiscountsPolicyTextBlock" xlink:title="RevenueRecognitionDiscountsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl" xml:lang="en-US" id="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl">Disclosure of accounting policy for sales discounts.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRecognitionDiscountsPolicyTextBlock" xlink:to="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl" xlink:title="label: RevenueRecognitionDiscountsPolicyTextBlock to tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl1" xml:lang="en-US" id="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl1">Revenue Recognition, Discounts [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRecognitionDiscountsPolicyTextBlock" xlink:to="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl1" xlink:title="label: RevenueRecognitionDiscountsPolicyTextBlock to tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_RevenueRecognitionDiscountsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_RevenueRecognitionDiscountsPolicyTextBlock" xml:lang="en-US" id="tlfa_RevenueRecognitionDiscountsPolicyTextBlock">Discounts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRecognitionDiscountsPolicyTextBlock" xlink:to="tlfa_RevenueRecognitionDiscountsPolicyTextBlock" xlink:title="label: RevenueRecognitionDiscountsPolicyTextBlock to tlfa_RevenueRecognitionDiscountsPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ShippingAndHandlingCostsPolicyTextBlock" xlink:label="ShippingAndHandlingCostsPolicyTextBlock" xlink:title="ShippingAndHandlingCostsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="tlfa_ShippingAndHandlingCostsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_ShippingAndHandlingCostsPolicyTextBlock_lbl" xml:lang="en-US" id="tlfa_ShippingAndHandlingCostsPolicyTextBlock_lbl">Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShippingAndHandlingCostsPolicyTextBlock" xlink:to="tlfa_ShippingAndHandlingCostsPolicyTextBlock_lbl" xlink:title="label: ShippingAndHandlingCostsPolicyTextBlock to tlfa_ShippingAndHandlingCostsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_ShippingAndHandlingCostsPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ShippingAndHandlingCostsPolicyTextBlock_lbl1" xml:lang="en-US" id="tlfa_ShippingAndHandlingCostsPolicyTextBlock_lbl1">Shipping and Handling Costs [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShippingAndHandlingCostsPolicyTextBlock" xlink:to="tlfa_ShippingAndHandlingCostsPolicyTextBlock_lbl1" xlink:title="label: ShippingAndHandlingCostsPolicyTextBlock to tlfa_ShippingAndHandlingCostsPolicyTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_ShippingAndHandlingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_ShippingAndHandlingCostsPolicyTextBlock" xml:lang="en-US" id="tlfa_ShippingAndHandlingCostsPolicyTextBlock">Shipping and handling costs</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShippingAndHandlingCostsPolicyTextBlock" xlink:to="tlfa_ShippingAndHandlingCostsPolicyTextBlock" xlink:title="label: ShippingAndHandlingCostsPolicyTextBlock to tlfa_ShippingAndHandlingCostsPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock" xlink:label="DeconsolidationOfForeignSubsidiariesPolicyTextBlock" xlink:title="DeconsolidationOfForeignSubsidiariesPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock_lbl" xml:lang="en-US" id="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock_lbl">Disclosure of accounting policy for deconsolidation of foreign subsidiaries.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeconsolidationOfForeignSubsidiariesPolicyTextBlock" xlink:to="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock_lbl" xlink:title="label: DeconsolidationOfForeignSubsidiariesPolicyTextBlock to tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock_lbl1" xml:lang="en-US" id="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock_lbl1">Deconsolidation of Foreign Subsidiaries [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeconsolidationOfForeignSubsidiariesPolicyTextBlock" xlink:to="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock_lbl1" xlink:title="label: DeconsolidationOfForeignSubsidiariesPolicyTextBlock to tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock" xml:lang="en-US" id="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock">Deconsolidation of Foreign Subsidiaries</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeconsolidationOfForeignSubsidiariesPolicyTextBlock" xlink:to="tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock" xlink:title="label: DeconsolidationOfForeignSubsidiariesPolicyTextBlock to tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ShareRepurchaseProgramMember" xlink:label="ShareRepurchaseProgramMember" xlink:title="ShareRepurchaseProgramMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_ShareRepurchaseProgramMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_ShareRepurchaseProgramMember_lbl" xml:lang="en-US" id="tlfa_ShareRepurchaseProgramMember_lbl">Name of the share repurchase program.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareRepurchaseProgramMember" xlink:to="tlfa_ShareRepurchaseProgramMember_lbl" xlink:title="label: ShareRepurchaseProgramMember to tlfa_ShareRepurchaseProgramMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_ShareRepurchaseProgramMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ShareRepurchaseProgramMember_lbl1" xml:lang="en-US" id="tlfa_ShareRepurchaseProgramMember_lbl1">Share Repurchase Program [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareRepurchaseProgramMember" xlink:to="tlfa_ShareRepurchaseProgramMember_lbl1" xlink:title="label: ShareRepurchaseProgramMember to tlfa_ShareRepurchaseProgramMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_ShareRepurchaseProgramMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_ShareRepurchaseProgramMember" xml:lang="en-US" id="tlfa_ShareRepurchaseProgramMember">Share Repurchase Program [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareRepurchaseProgramMember" xlink:to="tlfa_ShareRepurchaseProgramMember" xlink:title="label: ShareRepurchaseProgramMember to tlfa_ShareRepurchaseProgramMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_PercentageOfCommonStockOutstanding" xlink:label="PercentageOfCommonStockOutstanding" xlink:title="PercentageOfCommonStockOutstanding" />
    <link:label xlink:type="resource" xlink:label="tlfa_PercentageOfCommonStockOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_PercentageOfCommonStockOutstanding_lbl" xml:lang="en-US" id="tlfa_PercentageOfCommonStockOutstanding_lbl">Percentage of outstanding common stock in prior to the repurchase.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PercentageOfCommonStockOutstanding" xlink:to="tlfa_PercentageOfCommonStockOutstanding_lbl" xlink:title="label: PercentageOfCommonStockOutstanding to tlfa_PercentageOfCommonStockOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_PercentageOfCommonStockOutstanding_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_PercentageOfCommonStockOutstanding_lbl1" xml:lang="en-US" id="tlfa_PercentageOfCommonStockOutstanding_lbl1">Percentage of Common Stock Outstanding</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PercentageOfCommonStockOutstanding" xlink:to="tlfa_PercentageOfCommonStockOutstanding_lbl1" xlink:title="label: PercentageOfCommonStockOutstanding to tlfa_PercentageOfCommonStockOutstanding_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_PercentageOfCommonStockOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_PercentageOfCommonStockOutstanding" xml:lang="en-US" id="tlfa_PercentageOfCommonStockOutstanding">Percentage of outstanding common stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PercentageOfCommonStockOutstanding" xlink:to="tlfa_PercentageOfCommonStockOutstanding" xlink:title="label: PercentageOfCommonStockOutstanding to tlfa_PercentageOfCommonStockOutstanding" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_FairValueOfFinancialInstrumentsAbstract" xlink:label="FairValueOfFinancialInstrumentsAbstract" xlink:title="FairValueOfFinancialInstrumentsAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_FairValueOfFinancialInstrumentsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_FairValueOfFinancialInstrumentsAbstract_lbl1" xml:lang="en-US" id="tlfa_FairValueOfFinancialInstrumentsAbstract_lbl1">Fair Value of Financial Instruments [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FairValueOfFinancialInstrumentsAbstract" xlink:to="tlfa_FairValueOfFinancialInstrumentsAbstract_lbl1" xlink:title="label: FairValueOfFinancialInstrumentsAbstract to tlfa_FairValueOfFinancialInstrumentsAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_FairValueOfFinancialInstrumentsAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="tlfa_FairValueOfFinancialInstrumentsAbstract" xml:lang="en-US" id="tlfa_FairValueOfFinancialInstrumentsAbstract">Fair value of financial instruments [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FairValueOfFinancialInstrumentsAbstract" xlink:to="tlfa_FairValueOfFinancialInstrumentsAbstract" xlink:title="label: FairValueOfFinancialInstrumentsAbstract to tlfa_FairValueOfFinancialInstrumentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LesseeOperatingLeaseAssetsAndLiabilities" xlink:label="LesseeOperatingLeaseAssetsAndLiabilities" xlink:title="LesseeOperatingLeaseAssetsAndLiabilities" />
    <link:label xlink:type="resource" xlink:label="tlfa_LesseeOperatingLeaseAssetsAndLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_LesseeOperatingLeaseAssetsAndLiabilities_lbl" xml:lang="en-US" id="tlfa_LesseeOperatingLeaseAssetsAndLiabilities_lbl">Tabular disclosure of lessee's operating lease assets and liabilities recognized in the statement of financial position.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseAssetsAndLiabilities" xlink:to="tlfa_LesseeOperatingLeaseAssetsAndLiabilities_lbl" xlink:title="label: LesseeOperatingLeaseAssetsAndLiabilities to tlfa_LesseeOperatingLeaseAssetsAndLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_LesseeOperatingLeaseAssetsAndLiabilities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_LesseeOperatingLeaseAssetsAndLiabilities_lbl1" xml:lang="en-US" id="tlfa_LesseeOperatingLeaseAssetsAndLiabilities_lbl1">Lessee Operating Lease Assets and Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseAssetsAndLiabilities" xlink:to="tlfa_LesseeOperatingLeaseAssetsAndLiabilities_lbl1" xlink:title="label: LesseeOperatingLeaseAssetsAndLiabilities to tlfa_LesseeOperatingLeaseAssetsAndLiabilities_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_LesseeOperatingLeaseAssetsAndLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_LesseeOperatingLeaseAssetsAndLiabilities" xml:lang="en-US" id="tlfa_LesseeOperatingLeaseAssetsAndLiabilities">Operating Lease Assets and Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseAssetsAndLiabilities" xlink:to="tlfa_LesseeOperatingLeaseAssetsAndLiabilities" xlink:title="label: LesseeOperatingLeaseAssetsAndLiabilities to tlfa_LesseeOperatingLeaseAssetsAndLiabilities" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" xlink:label="LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" xlink:title="LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock_lbl" xml:lang="en-US" id="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock_lbl">Tabular disclosure of lessee operating leases lease term and discount rate.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" xlink:to="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock_lbl" xlink:title="label: LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock to tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock_lbl1" xml:lang="en-US" id="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock_lbl1">Lessee Operating Leases Lease Term and Discount Rate [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" xlink:to="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock_lbl1" xlink:title="label: LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock to tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" xml:lang="en-US" id="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock">Lease Term and Discount Rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" xlink:to="tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" xlink:title="label: LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock to tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock" xlink:label="LesseeOperatingLeasesOtherInformationTableTextBlock" xlink:title="LesseeOperatingLeasesOtherInformationTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock_lbl" xml:lang="en-US" id="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock_lbl">Tabular disclosure of other information of operating leases.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesOtherInformationTableTextBlock" xlink:to="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock_lbl" xlink:title="label: LesseeOperatingLeasesOtherInformationTableTextBlock to tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock_lbl1" xml:lang="en-US" id="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock_lbl1">Lessee Operating Leases Other Information [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesOtherInformationTableTextBlock" xlink:to="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock_lbl1" xlink:title="label: LesseeOperatingLeasesOtherInformationTableTextBlock to tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock" xml:lang="en-US" id="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock">Operating Leases Other Information</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesOtherInformationTableTextBlock" xlink:to="tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock" xlink:title="label: LesseeOperatingLeasesOtherInformationTableTextBlock to tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xlink:label="CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xlink:title="CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract_lbl1" xml:lang="en-US" id="tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract_lbl1">Cash Paid for Amounts Included In The Measurement Of Lease Liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xlink:to="tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract_lbl1" xlink:title="label: CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract to tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xml:lang="en-US" id="tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract">Cash Paid for Amounts Included in the Measurement of Lease Liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xlink:to="tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xlink:title="label: CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract to tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ShippingAndHandlingCostsAbstract" xlink:label="ShippingAndHandlingCostsAbstract" xlink:title="ShippingAndHandlingCostsAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_ShippingAndHandlingCostsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ShippingAndHandlingCostsAbstract_lbl1" xml:lang="en-US" id="tlfa_ShippingAndHandlingCostsAbstract_lbl1">Shipping and handling costs [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShippingAndHandlingCostsAbstract" xlink:to="tlfa_ShippingAndHandlingCostsAbstract_lbl1" xlink:title="label: ShippingAndHandlingCostsAbstract to tlfa_ShippingAndHandlingCostsAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_ShippingAndHandlingCostsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_ShippingAndHandlingCostsAbstract" xml:lang="en-US" id="tlfa_ShippingAndHandlingCostsAbstract">Shipping and handling costs [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShippingAndHandlingCostsAbstract" xlink:to="tlfa_ShippingAndHandlingCostsAbstract" xlink:title="label: ShippingAndHandlingCostsAbstract to tlfa_ShippingAndHandlingCostsAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_DiscountsAbstract" xlink:label="DiscountsAbstract" xlink:title="DiscountsAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_DiscountsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_DiscountsAbstract_lbl1" xml:lang="en-US" id="tlfa_DiscountsAbstract_lbl1">Discounts [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DiscountsAbstract" xlink:to="tlfa_DiscountsAbstract_lbl1" xlink:title="label: DiscountsAbstract to tlfa_DiscountsAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_DiscountsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_DiscountsAbstract" xml:lang="en-US" id="tlfa_DiscountsAbstract">Discounts [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DiscountsAbstract" xlink:to="tlfa_DiscountsAbstract" xlink:title="label: DiscountsAbstract to tlfa_DiscountsAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NumberOfClassesOfCustomerDiscounts" xlink:label="NumberOfClassesOfCustomerDiscounts" xlink:title="NumberOfClassesOfCustomerDiscounts" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfClassesOfCustomerDiscounts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_NumberOfClassesOfCustomerDiscounts_lbl" xml:lang="en-US" id="tlfa_NumberOfClassesOfCustomerDiscounts_lbl">Number of classes of customer discounts.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfClassesOfCustomerDiscounts" xlink:to="tlfa_NumberOfClassesOfCustomerDiscounts_lbl" xlink:title="label: NumberOfClassesOfCustomerDiscounts to tlfa_NumberOfClassesOfCustomerDiscounts_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfClassesOfCustomerDiscounts_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_NumberOfClassesOfCustomerDiscounts_lbl1" xml:lang="en-US" id="tlfa_NumberOfClassesOfCustomerDiscounts_lbl1">Number of Classes of Customer Discounts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfClassesOfCustomerDiscounts" xlink:to="tlfa_NumberOfClassesOfCustomerDiscounts_lbl1" xlink:title="label: NumberOfClassesOfCustomerDiscounts to tlfa_NumberOfClassesOfCustomerDiscounts_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfClassesOfCustomerDiscounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_NumberOfClassesOfCustomerDiscounts" xml:lang="en-US" id="tlfa_NumberOfClassesOfCustomerDiscounts">Number of classes of customer discounts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfClassesOfCustomerDiscounts" xlink:to="tlfa_NumberOfClassesOfCustomerDiscounts" xlink:title="label: NumberOfClassesOfCustomerDiscounts to tlfa_NumberOfClassesOfCustomerDiscounts" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_DeconsolidationOfForeignSubsidiariesAbstract" xlink:label="DeconsolidationOfForeignSubsidiariesAbstract" xlink:title="DeconsolidationOfForeignSubsidiariesAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_DeconsolidationOfForeignSubsidiariesAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_DeconsolidationOfForeignSubsidiariesAbstract_lbl1" xml:lang="en-US" id="tlfa_DeconsolidationOfForeignSubsidiariesAbstract_lbl1">Deconsolidation of Foreign Subsidiaries [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeconsolidationOfForeignSubsidiariesAbstract" xlink:to="tlfa_DeconsolidationOfForeignSubsidiariesAbstract_lbl1" xlink:title="label: DeconsolidationOfForeignSubsidiariesAbstract to tlfa_DeconsolidationOfForeignSubsidiariesAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_DeconsolidationOfForeignSubsidiariesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_DeconsolidationOfForeignSubsidiariesAbstract" xml:lang="en-US" id="tlfa_DeconsolidationOfForeignSubsidiariesAbstract">Deconsolidation of Foreign Subsidiaries [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeconsolidationOfForeignSubsidiariesAbstract" xlink:to="tlfa_DeconsolidationOfForeignSubsidiariesAbstract" xlink:title="label: DeconsolidationOfForeignSubsidiariesAbstract to tlfa_DeconsolidationOfForeignSubsidiariesAbstract" />
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>tlfa-20231231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" />
  <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:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" />
  <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://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquityShareRepurchaseProgramDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquityNonvestedServicebasedAwardsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquity2013And2023RestrictedStockPlansDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantBusinessConcentrationsAndRiskDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesReconciliationOfUncertainTaxPositionsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesReconciliationOfUncertainTaxPositionsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesIncomeBeforeIncomeTaxesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesProvisionForIncomeTaxesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#EmployeeBenefitAndSavingsPlansDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#NotesPayableAndLongtermDebtDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesLeaseTermAndDiscountRateDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesOperatingLeasesOtherInformationDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesOperatingLeasesOtherInformationDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesMaturityOfLeaseLiabilitiesDetailsCalc01" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesMaturityOfLeaseLiabilitiesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#BalanceSheetComponentsShorttermLiabilitiesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#BalanceSheetComponentsInventoryPropertyAndEquipmentDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesAdvertisingDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesAdvertisingDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesShippingAndHandlingCostsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesOtherIntangibleAssetsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesEarningsPerShareDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesImpairmentOfLonglivedAssetsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesImpairmentOfLonglivedAssetsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesLeasesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesDiscountsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesDiscountsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesRevenueRecognitionDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesErrorCorrectionDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesDeconsolidationOfForeignSubsidiariesDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesDeconsolidationOfForeignSubsidiariesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/DescriptionOfBusinessDetails" xlink:type="simple" xlink:href="tlfa-20231231.xsd#DescriptionOfBusinessDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockholdersEquityTables" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquityTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxesTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/LeasesTables" xlink:type="simple" xlink:href="tlfa-20231231.xsd#LeasesTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/BalanceSheetComponentsTables" xlink:type="simple" xlink:href="tlfa-20231231.xsd#BalanceSheetComponentsTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPoliciesPolicies" />
  <link:roleRef roleURI="http://tandyleather.com/role/InsiderTradingArrangements" xlink:type="simple" xlink:href="tlfa-20231231.xsd#InsiderTradingArrangements" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockholdersEquity" xlink:type="simple" xlink:href="tlfa-20231231.xsd#StockholdersEquity" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantBusinessConcentrationsAndRisk" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantBusinessConcentrationsAndRisk" />
  <link:roleRef roleURI="http://tandyleather.com/role/CommitmentsAndContingencies" xlink:type="simple" xlink:href="tlfa-20231231.xsd#CommitmentsAndContingencies" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxes" xlink:type="simple" xlink:href="tlfa-20231231.xsd#IncomeTaxes" />
  <link:roleRef roleURI="http://tandyleather.com/role/EmployeeBenefitAndSavingsPlans" xlink:type="simple" xlink:href="tlfa-20231231.xsd#EmployeeBenefitAndSavingsPlans" />
  <link:roleRef roleURI="http://tandyleather.com/role/NotesPayableAndLongtermDebt" xlink:type="simple" xlink:href="tlfa-20231231.xsd#NotesPayableAndLongtermDebt" />
  <link:roleRef roleURI="http://tandyleather.com/role/Leases" xlink:type="simple" xlink:href="tlfa-20231231.xsd#Leases" />
  <link:roleRef roleURI="http://tandyleather.com/role/BalanceSheetComponents" xlink:type="simple" xlink:href="tlfa-20231231.xsd#BalanceSheetComponents" />
  <link:roleRef roleURI="http://tandyleather.com/role/SignificantAccountingPolicies" xlink:type="simple" xlink:href="tlfa-20231231.xsd#SignificantAccountingPolicies" />
  <link:roleRef roleURI="http://tandyleather.com/role/DescriptionOfBusiness" xlink:type="simple" xlink:href="tlfa-20231231.xsd#DescriptionOfBusiness" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" xlink:href="tlfa-20231231.xsd#CondensedConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef roleURI="http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tlfa-20231231.xsd#ConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:type="simple" xlink:href="tlfa-20231231.xsd#ConsolidatedStatementsOfOperationsAndComprehensiveIncome" />
  <link:roleRef roleURI="http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals" xlink:type="simple" xlink:href="tlfa-20231231.xsd#ConsolidatedBalanceSheetsParentheticals" />
  <link:roleRef roleURI="http://tandyleather.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tlfa-20231231.xsd#ConsolidatedBalanceSheets" />
  <link:roleRef roleURI="http://tandyleather.com/role/DocumentAndEntityInformation" xlink:type="simple" xlink:href="tlfa-20231231.xsd#DocumentAndEntityInformation" />
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/DocumentAndEntityInformation">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="CoverAbstract" xlink:title="CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="DocumentType" xlink:title="DocumentType" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentType" xlink:title="presentation: CoverAbstract to DocumentType" order="0.0" 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="AmendmentFlag" xlink:title="AmendmentFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AmendmentFlag" xlink:title="presentation: CoverAbstract to AmendmentFlag" order="1.0" 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="DocumentAnnualReport" xlink:title="DocumentAnnualReport" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentAnnualReport" xlink:title="presentation: CoverAbstract to DocumentAnnualReport" order="2.0" 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="DocumentPeriodEndDate" xlink:title="DocumentPeriodEndDate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentPeriodEndDate" xlink:title="presentation: CoverAbstract to DocumentPeriodEndDate" order="3.0" 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="CurrentFiscalYearEndDate" xlink:title="CurrentFiscalYearEndDate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="CurrentFiscalYearEndDate" xlink:title="presentation: CoverAbstract to CurrentFiscalYearEndDate" order="4.0" 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="DocumentFiscalYearFocus" xlink:title="DocumentFiscalYearFocus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFiscalYearFocus" xlink:title="presentation: CoverAbstract to DocumentFiscalYearFocus" order="5.0" 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="DocumentFiscalPeriodFocus" xlink:title="DocumentFiscalPeriodFocus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFiscalPeriodFocus" xlink:title="presentation: CoverAbstract to DocumentFiscalPeriodFocus" order="6.0" 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="DocumentTransitionReport" xlink:title="DocumentTransitionReport" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentTransitionReport" xlink:title="presentation: CoverAbstract to DocumentTransitionReport" order="7.0" 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_EntityFileNumber" xlink:label="EntityFileNumber" xlink:title="EntityFileNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityFileNumber" xlink:title="presentation: CoverAbstract to EntityFileNumber" order="8.0" 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_EntityRegistrantName" xlink:label="EntityRegistrantName" xlink:title="EntityRegistrantName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityRegistrantName" xlink:title="presentation: CoverAbstract to EntityRegistrantName" order="9.0" 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="EntityCentralIndexKey" xlink:title="EntityCentralIndexKey" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCentralIndexKey" xlink:title="presentation: CoverAbstract to EntityCentralIndexKey" order="10.0" 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="EntityIncorporationStateCountryCode" xlink:title="EntityIncorporationStateCountryCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityIncorporationStateCountryCode" xlink:title="presentation: CoverAbstract to EntityIncorporationStateCountryCode" order="11.0" 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_EntityTaxIdentificationNumber" xlink:label="EntityTaxIdentificationNumber" xlink:title="EntityTaxIdentificationNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityTaxIdentificationNumber" xlink:title="presentation: CoverAbstract to EntityTaxIdentificationNumber" order="12.0" 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_EntityAddressAddressLine1" xlink:label="EntityAddressAddressLine1" xlink:title="EntityAddressAddressLine1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressAddressLine1" xlink:title="presentation: CoverAbstract to EntityAddressAddressLine1" order="13.0" 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_EntityAddressCityOrTown" xlink:label="EntityAddressCityOrTown" xlink:title="EntityAddressCityOrTown" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressCityOrTown" xlink:title="presentation: CoverAbstract to EntityAddressCityOrTown" order="14.0" 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_EntityAddressStateOrProvince" xlink:label="EntityAddressStateOrProvince" xlink:title="EntityAddressStateOrProvince" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressStateOrProvince" xlink:title="presentation: CoverAbstract to EntityAddressStateOrProvince" order="15.0" 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_EntityAddressPostalZipCode" xlink:label="EntityAddressPostalZipCode" xlink:title="EntityAddressPostalZipCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressPostalZipCode" xlink:title="presentation: CoverAbstract to EntityAddressPostalZipCode" order="16.0" 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_CityAreaCode" xlink:label="CityAreaCode" xlink:title="CityAreaCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="CityAreaCode" xlink:title="presentation: CoverAbstract to CityAreaCode" order="17.0" 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_LocalPhoneNumber" xlink:label="LocalPhoneNumber" xlink:title="LocalPhoneNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="LocalPhoneNumber" xlink:title="presentation: CoverAbstract to LocalPhoneNumber" order="18.0" 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_Security12bTitle" xlink:label="Security12bTitle" xlink:title="Security12bTitle" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="Security12bTitle" xlink:title="presentation: CoverAbstract to Security12bTitle" order="19.0" 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_TradingSymbol" xlink:label="TradingSymbol" xlink:title="TradingSymbol" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="TradingSymbol" xlink:title="presentation: CoverAbstract to TradingSymbol" order="20.0" 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="SecurityExchangeName" xlink:title="SecurityExchangeName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="SecurityExchangeName" xlink:title="presentation: CoverAbstract to SecurityExchangeName" order="21.0" 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="EntityWellKnownSeasonedIssuer" xlink:title="EntityWellKnownSeasonedIssuer" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityWellKnownSeasonedIssuer" xlink:title="presentation: CoverAbstract to EntityWellKnownSeasonedIssuer" order="22.0" 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_EntityVoluntaryFilers" xlink:label="EntityVoluntaryFilers" xlink:title="EntityVoluntaryFilers" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityVoluntaryFilers" xlink:title="presentation: CoverAbstract to EntityVoluntaryFilers" order="23.0" 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_EntityCurrentReportingStatus" xlink:label="EntityCurrentReportingStatus" xlink:title="EntityCurrentReportingStatus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCurrentReportingStatus" xlink:title="presentation: CoverAbstract to EntityCurrentReportingStatus" order="24.0" 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_EntityInteractiveDataCurrent" xlink:label="EntityInteractiveDataCurrent" xlink:title="EntityInteractiveDataCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityInteractiveDataCurrent" xlink:title="presentation: CoverAbstract to EntityInteractiveDataCurrent" order="25.0" 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_EntityFilerCategory" xlink:label="EntityFilerCategory" xlink:title="EntityFilerCategory" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityFilerCategory" xlink:title="presentation: CoverAbstract to EntityFilerCategory" order="26.0" 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_EntitySmallBusiness" xlink:label="EntitySmallBusiness" xlink:title="EntitySmallBusiness" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntitySmallBusiness" xlink:title="presentation: CoverAbstract to EntitySmallBusiness" order="27.0" 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="EntityEmergingGrowthCompany" xlink:title="EntityEmergingGrowthCompany" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityEmergingGrowthCompany" xlink:title="presentation: CoverAbstract to EntityEmergingGrowthCompany" order="28.0" 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="EntityShellCompany" xlink:title="EntityShellCompany" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityShellCompany" xlink:title="presentation: CoverAbstract to EntityShellCompany" order="29.0" 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_IcfrAuditorAttestationFlag" xlink:label="IcfrAuditorAttestationFlag" xlink:title="IcfrAuditorAttestationFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="IcfrAuditorAttestationFlag" xlink:title="presentation: CoverAbstract to IcfrAuditorAttestationFlag" order="30.0" 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_DocumentFinStmtErrorCorrectionFlag" xlink:label="DocumentFinStmtErrorCorrectionFlag" xlink:title="DocumentFinStmtErrorCorrectionFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFinStmtErrorCorrectionFlag" xlink:title="presentation: CoverAbstract to DocumentFinStmtErrorCorrectionFlag" order="31.0" 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_DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:label="DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:title="DocumentFinStmtRestatementRecoveryAnalysisFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:title="presentation: CoverAbstract to DocumentFinStmtRestatementRecoveryAnalysisFlag" order="32.0" 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="EntityPublicFloat" xlink:title="EntityPublicFloat" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityPublicFloat" xlink:title="presentation: CoverAbstract to EntityPublicFloat" order="33.0" 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_EntityCommonStockSharesOutstanding" xlink:label="EntityCommonStockSharesOutstanding" xlink:title="EntityCommonStockSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCommonStockSharesOutstanding" xlink:title="presentation: CoverAbstract to EntityCommonStockSharesOutstanding" order="34.0" 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="AuditorFirmId" xlink:title="AuditorFirmId" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AuditorFirmId" xlink:title="presentation: CoverAbstract to AuditorFirmId" order="35.0" 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="AuditorName" xlink:title="AuditorName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AuditorName" xlink:title="presentation: CoverAbstract to AuditorName" order="36.0" 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="AuditorLocation" xlink:title="AuditorLocation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AuditorLocation" xlink:title="presentation: CoverAbstract to AuditorLocation" order="37.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ConsolidatedBalanceSheets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="CashAndCashEquivalentsAtCarryingValue" xlink:title="presentation: AssetsCurrentAbstract to CashAndCashEquivalentsAtCarryingValue" order="0.0" 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_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AccountsReceivableNetCurrent" xlink:title="presentation: AssetsCurrentAbstract to AccountsReceivableNetCurrent" order="1.0" 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_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="InventoryNet" xlink:title="presentation: AssetsCurrentAbstract to InventoryNet" order="2.0" 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_IncomeTaxesReceivable" xlink:label="IncomeTaxesReceivable" xlink:title="IncomeTaxesReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="IncomeTaxesReceivable" xlink:title="presentation: AssetsCurrentAbstract to IncomeTaxesReceivable" order="3.0" 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_PrepaidExpenseCurrent" xlink:label="PrepaidExpenseCurrent" xlink:title="PrepaidExpenseCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="PrepaidExpenseCurrent" xlink:title="presentation: AssetsCurrentAbstract to PrepaidExpenseCurrent" order="4.0" 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_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="OtherAssetsCurrent" xlink:title="presentation: AssetsCurrentAbstract to OtherAssetsCurrent" order="5.0" 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_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AssetsCurrent" xlink:title="presentation: AssetsCurrentAbstract to AssetsCurrent" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AssetsCurrentAbstract" xlink:title="presentation: AssetsAbstract to AssetsCurrentAbstract" order="0.0" 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_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="PropertyPlantAndEquipmentGross" xlink:title="presentation: AssetsAbstract to PropertyPlantAndEquipmentGross" order="1.0" 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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="presentation: AssetsAbstract to AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="presentation: AssetsAbstract to PropertyPlantAndEquipmentNet" order="3.0" 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_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="presentation: AssetsAbstract to OperatingLeaseRightOfUseAsset" order="4.0" 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_FinanceLeaseRightOfUseAsset" xlink:label="FinanceLeaseRightOfUseAsset" xlink:title="FinanceLeaseRightOfUseAsset" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="FinanceLeaseRightOfUseAsset" xlink:title="presentation: AssetsAbstract to FinanceLeaseRightOfUseAsset" order="5.0" 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_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="DeferredIncomeTaxAssetsNet" xlink:title="presentation: AssetsAbstract to DeferredIncomeTaxAssetsNet" order="6.0" 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="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="OtherAssetsNoncurrent" xlink:title="presentation: AssetsAbstract to OtherAssetsNoncurrent" order="7.0" 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_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="Assets" xlink:title="presentation: AssetsAbstract to Assets" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="AssetsAbstract" xlink:title="presentation: StatementOfFinancialPositionAbstract to AssetsAbstract" order="0.0" 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_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="LiabilitiesCurrentAbstract" xlink:title="LiabilitiesCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="AccountsPayableTradeCurrent" xlink:title="AccountsPayableTradeCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="AccountsPayableTradeCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to AccountsPayableTradeCurrent" order="0.0" 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_AccruedLiabilitiesAndOtherLiabilities" xlink:label="AccruedLiabilitiesAndOtherLiabilities" xlink:title="AccruedLiabilitiesAndOtherLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="AccruedLiabilitiesAndOtherLiabilities" xlink:title="presentation: LiabilitiesCurrentAbstract to AccruedLiabilitiesAndOtherLiabilities" order="1.0" 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_TaxesPayableCurrent" xlink:label="TaxesPayableCurrent" xlink:title="TaxesPayableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="TaxesPayableCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to TaxesPayableCurrent" order="2.0" 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_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to OperatingLeaseLiabilityCurrent" order="3.0" 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_FinanceLeaseLiabilityCurrent" xlink:label="FinanceLeaseLiabilityCurrent" xlink:title="FinanceLeaseLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="FinanceLeaseLiabilityCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to FinanceLeaseLiabilityCurrent" order="4.0" 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_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="LiabilitiesCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to LiabilitiesCurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesCurrentAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesCurrentAbstract" order="0.0" 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_DeferredIncomeTaxLiabilitiesNet" xlink:label="DeferredIncomeTaxLiabilitiesNet" xlink:title="DeferredIncomeTaxLiabilitiesNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="DeferredIncomeTaxLiabilitiesNet" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to DeferredIncomeTaxLiabilitiesNet" order="1.0" 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_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="LiabilityForUncertainTaxPositionsNoncurrent" xlink:title="LiabilityForUncertainTaxPositionsNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilityForUncertainTaxPositionsNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilityForUncertainTaxPositionsNoncurrent" order="2.0" 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_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="OtherLiabilitiesNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to OtherLiabilitiesNoncurrent" order="3.0" 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_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to OperatingLeaseLiabilityNoncurrent" order="4.0" 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_FinanceLeaseLiabilityNoncurrent" xlink:label="FinanceLeaseLiabilityNoncurrent" xlink:title="FinanceLeaseLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="FinanceLeaseLiabilityNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to FinanceLeaseLiabilityNoncurrent" order="5.0" 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_CommitmentsAndContingencies" xlink:label="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="CommitmentsAndContingencies" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to CommitmentsAndContingencies" order="6.0" 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_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockValue" xlink:title="presentation: StockholdersEquityAbstract to CommonStockValue" order="0.0" 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_AdditionalPaidInCapital" xlink:label="AdditionalPaidInCapital" xlink:title="AdditionalPaidInCapital" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="AdditionalPaidInCapital" xlink:title="presentation: StockholdersEquityAbstract to AdditionalPaidInCapital" order="1.0" 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_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="RetainedEarningsAccumulatedDeficit" xlink:title="presentation: StockholdersEquityAbstract to RetainedEarningsAccumulatedDeficit" order="2.0" 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_TreasuryStockCommonValue" xlink:label="TreasuryStockCommonValue" xlink:title="TreasuryStockCommonValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="TreasuryStockCommonValue" xlink:title="presentation: StockholdersEquityAbstract to TreasuryStockCommonValue" order="3.0" 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_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="presentation: StockholdersEquityAbstract to AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="4.0" 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_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="StockholdersEquity" xlink:title="presentation: StockholdersEquityAbstract to StockholdersEquity" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="StockholdersEquityAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to StockholdersEquityAbstract" order="7.0" 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_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesAndStockholdersEquity" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesAndStockholdersEquity" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="presentation: StatementOfFinancialPositionAbstract to LiabilitiesAndStockholdersEquityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="presentation: AssetsCurrentAbstract to AllowanceForDoubtfulAccountsReceivableCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AssetsCurrentAbstract" xlink:title="presentation: AssetsAbstract to AssetsCurrentAbstract" order="0.0" 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_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="presentation: AssetsAbstract to FiniteLivedIntangibleAssetsAccumulatedAmortization" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="AssetsAbstract" xlink:title="presentation: StatementOfFinancialPositionAbstract to AssetsAbstract" order="0.0" 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_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockParOrStatedValuePerShare" xlink:title="presentation: StockholdersEquityAbstract to CommonStockParOrStatedValuePerShare" order="0.0" 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_CommonStockSharesAuthorized" xlink:label="CommonStockSharesAuthorized" xlink:title="CommonStockSharesAuthorized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesAuthorized" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesAuthorized" order="1.0" 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_CommonStockSharesIssued" xlink:label="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesIssued" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesIssued" order="2.0" 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_CommonStockSharesOutstanding" xlink:label="CommonStockSharesOutstanding" xlink:title="CommonStockSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesOutstanding" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesOutstanding" order="3.0" 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_TreasuryStockCommonShares" xlink:label="TreasuryStockCommonShares" xlink:title="TreasuryStockCommonShares" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="TreasuryStockCommonShares" xlink:title="presentation: StockholdersEquityAbstract to TreasuryStockCommonShares" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="StockholdersEquityAbstract" xlink:title="presentation: StatementOfFinancialPositionAbstract to StockholdersEquityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" xlink:title="IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: IncomeStatementAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" 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_CostOfGoodsAndServicesSold" xlink:label="CostOfGoodsAndServicesSold" xlink:title="CostOfGoodsAndServicesSold" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="CostOfGoodsAndServicesSold" xlink:title="presentation: IncomeStatementAbstract to CostOfGoodsAndServicesSold" order="1.0" 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_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="GrossProfit" xlink:title="presentation: IncomeStatementAbstract to GrossProfit" order="2.0" 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_OperatingCostsAndExpenses" xlink:label="OperatingCostsAndExpenses" xlink:title="OperatingCostsAndExpenses" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OperatingCostsAndExpenses" xlink:title="presentation: IncomeStatementAbstract to OperatingCostsAndExpenses" order="3.0" 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_OperatingIncomeLoss" xlink:label="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OperatingIncomeLoss" xlink:title="presentation: IncomeStatementAbstract to OperatingIncomeLoss" order="4.0" 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_OperatingIncomeLossAbstract" xlink:label="OperatingIncomeLossAbstract" xlink:title="OperatingIncomeLossAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="InterestIncomeExpenseNet" xlink:title="InterestIncomeExpenseNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingIncomeLossAbstract" xlink:to="InterestIncomeExpenseNet" xlink:title="presentation: OperatingIncomeLossAbstract to InterestIncomeExpenseNet" order="0.0" 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_OtherNonoperatingIncomeExpense" xlink:label="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingIncomeLossAbstract" xlink:to="OtherNonoperatingIncomeExpense" xlink:title="presentation: OperatingIncomeLossAbstract to OtherNonoperatingIncomeExpense" order="1.0" 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_NonoperatingIncomeExpense" xlink:label="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingIncomeLossAbstract" xlink:to="NonoperatingIncomeExpense" xlink:title="presentation: OperatingIncomeLossAbstract to NonoperatingIncomeExpense" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OperatingIncomeLossAbstract" xlink:title="presentation: IncomeStatementAbstract to OperatingIncomeLossAbstract" order="5.0" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="presentation: IncomeStatementAbstract to IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="6.0" 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="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="IncomeTaxExpenseBenefit" xlink:title="presentation: IncomeStatementAbstract to IncomeTaxExpenseBenefit" order="7.0" 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_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: IncomeStatementAbstract to NetIncomeLoss" order="8.0" 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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="presentation: IncomeStatementAbstract to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="9.0" 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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:title="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:title="presentation: IncomeStatementAbstract to ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" order="10.0" 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="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareBasic" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareBasic" order="0.0" 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_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareDiluted" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareDiluted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="EarningsPerShareAbstract" xlink:title="presentation: IncomeStatementAbstract to EarningsPerShareAbstract" order="11.0" 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_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingAbstract to WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" 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_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingAbstract to WeightedAverageNumberOfDilutedSharesOutstanding" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="presentation: IncomeStatementAbstract to WeightedAverageNumberOfSharesOutstandingAbstract" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" xlink:title="StatementOfCashFlowsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to NetIncomeLoss" order="0.0" 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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:label="CostOfGoodsAndServicesSoldDepreciation" xlink:title="CostOfGoodsAndServicesSoldDepreciation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="CostOfGoodsAndServicesSoldDepreciation" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to CostOfGoodsAndServicesSoldDepreciation" order="0.0" 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_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:title="OperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to OperatingLeaseRightOfUseAssetAmortizationExpense" order="1.0" 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_GainLossOnDispositionOfAssets1" xlink:label="GainLossOnDispositionOfAssets1" xlink:title="GainLossOnDispositionOfAssets1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="GainLossOnDispositionOfAssets1" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to GainLossOnDispositionOfAssets1" order="2.0" 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_ShareBasedCompensation" xlink:label="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="ShareBasedCompensation" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to ShareBasedCompensation" order="3.0" 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_DeferredIncomeTaxesAndTaxCredits" xlink:label="DeferredIncomeTaxesAndTaxCredits" xlink:title="DeferredIncomeTaxesAndTaxCredits" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="DeferredIncomeTaxesAndTaxCredits" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to DeferredIncomeTaxesAndTaxCredits" order="4.0" 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_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="IncreaseDecreaseInAccountsReceivable" xlink:title="IncreaseDecreaseInAccountsReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccountsReceivable" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccountsReceivable" order="0.0" 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_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInInventories" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInInventories" order="1.0" 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_IncreaseDecreaseInPrepaidExpense" xlink:label="IncreaseDecreaseInPrepaidExpense" xlink:title="IncreaseDecreaseInPrepaidExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInPrepaidExpense" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInPrepaidExpense" order="2.0" 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_IncreaseDecreaseInOtherCurrentAssets" xlink:label="IncreaseDecreaseInOtherCurrentAssets" xlink:title="IncreaseDecreaseInOtherCurrentAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInOtherCurrentAssets" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInOtherCurrentAssets" order="3.0" 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_IncreaseDecreaseInAccountsPayable" xlink:label="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccountsPayable" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccountsPayable" order="4.0" 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_IncreaseDecreaseInAccruedLiabilities" xlink:label="IncreaseDecreaseInAccruedLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccruedLiabilities" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccruedLiabilities" order="5.0" 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_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="IncreaseDecreaseInDeferredIncomeTaxes" xlink:title="IncreaseDecreaseInDeferredIncomeTaxes" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInDeferredIncomeTaxes" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInDeferredIncomeTaxes" order="6.0" 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_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="IncreaseDecreaseInOtherNoncurrentAssets" xlink:title="IncreaseDecreaseInOtherNoncurrentAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInOtherNoncurrentAssets" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInOtherNoncurrentAssets" order="7.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="IncreaseDecreaseInOperatingLeaseLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInOperatingLeaseLiability" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to IncreaseDecreaseInOperatingCapitalAbstract" order="5.0" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:label="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:title="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1.0" 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_NetCashProvidedByUsedInOperatingActivities" xlink:label="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInOperatingActivities" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to NetCashProvidedByUsedInOperatingActivities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0.0" 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_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to PaymentsToAcquirePropertyPlantAndEquipment" order="0.0" 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_ProceedsFromSaleOfProductiveAssets" xlink:label="ProceedsFromSaleOfProductiveAssets" xlink:title="ProceedsFromSaleOfProductiveAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="ProceedsFromSaleOfProductiveAssets" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to ProceedsFromSaleOfProductiveAssets" order="1.0" 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_NetCashProvidedByUsedInInvestingActivities" xlink:label="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInInvestingActivities" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to NetCashProvidedByUsedInInvestingActivities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInInvestingActivitiesAbstract" order="1.0" 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_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="RepaymentsOfLongTermDebt" xlink:title="RepaymentsOfLongTermDebt" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="RepaymentsOfLongTermDebt" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to RepaymentsOfLongTermDebt" order="0.0" 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_FinanceLeasePrincipalPayments" xlink:label="FinanceLeasePrincipalPayments" xlink:title="FinanceLeasePrincipalPayments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="FinanceLeasePrincipalPayments" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to FinanceLeasePrincipalPayments" order="1.0" 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_PaymentsForRepurchaseOfCommonStock" xlink:label="PaymentsForRepurchaseOfCommonStock" xlink:title="PaymentsForRepurchaseOfCommonStock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="PaymentsForRepurchaseOfCommonStock" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to PaymentsForRepurchaseOfCommonStock" order="2.0" 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_NetCashProvidedByUsedInFinancingActivities" xlink:label="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInFinancingActivities" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to NetCashProvidedByUsedInFinancingActivities" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInFinancingActivitiesAbstract" order="2.0" 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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="presentation: StatementOfCashFlowsAbstract to EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="3.0" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" order="4.0" 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="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="5.0" 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="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="6.0" 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="SupplementalCashFlowInformationAbstract" xlink:title="SupplementalCashFlowInformationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="InterestPaidNet" xlink:title="InterestPaidNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="InterestPaidNet" xlink:title="presentation: SupplementalCashFlowInformationAbstract to InterestPaidNet" order="0.0" 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_IncomeTaxesPaidNet" xlink:label="IncomeTaxesPaidNet" xlink:title="IncomeTaxesPaidNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="IncomeTaxesPaidNet" xlink:title="presentation: SupplementalCashFlowInformationAbstract to IncomeTaxesPaidNet" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="SupplementalCashFlowInformationAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to SupplementalCashFlowInformationAbstract" order="7.0" 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_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:title="CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:title="NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:title="presentation: CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract to NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" xlink:title="StatementOfStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="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="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="CommonStockMember" xlink:title="CommonStockMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="CommonStockMember" xlink:title="presentation: StatementEquityComponentsAxis to CommonStockMember" order="0.0" 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_AdditionalPaidInCapitalMember" xlink:label="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="AdditionalPaidInCapitalMember" xlink:title="presentation: StatementEquityComponentsAxis to AdditionalPaidInCapitalMember" order="1.0" 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_TreasuryStockCommonMember" xlink:label="TreasuryStockCommonMember" xlink:title="TreasuryStockCommonMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="TreasuryStockCommonMember" xlink:title="presentation: StatementEquityComponentsAxis to TreasuryStockCommonMember" order="2.0" 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_RetainedEarningsMember" xlink:label="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="RetainedEarningsMember" xlink:title="presentation: StatementEquityComponentsAxis to RetainedEarningsMember" order="3.0" 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_AccumulatedOtherComprehensiveIncomeMember" xlink:label="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="AccumulatedOtherComprehensiveIncomeMember" xlink:title="presentation: StatementEquityComponentsAxis to AccumulatedOtherComprehensiveIncomeMember" order="4.0" 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_EquityComponentDomain" xlink:label="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain" xlink:title="presentation: StatementEquityComponentsAxis to EquityComponentDomain" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementEquityComponentsAxis" xlink:title="presentation: StatementTable to StatementEquityComponentsAxis" order="0.0" 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_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockholdersEquity" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockholdersEquity" order="0.0" 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_SharesOutstanding" xlink:label="SharesOutstanding" xlink:title="SharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="SharesOutstanding" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to SharesOutstanding" order="1.0" 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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="2.0" 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_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodValueRestrictedStockAwardGross" order="3.0" 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_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="4.0" 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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" order="5.0" 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_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to SharesPaidForTaxWithholdingForShareBasedCompensation" order="6.0" 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_StockRepurchasedAndRetiredDuringPeriodValue" xlink:label="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="StockRepurchasedAndRetiredDuringPeriodValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockRepurchasedAndRetiredDuringPeriodValue" order="7.0" 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_StockRepurchasedAndRetiredDuringPeriodShares" xlink:label="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="StockRepurchasedAndRetiredDuringPeriodShares" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockRepurchasedAndRetiredDuringPeriodShares" order="8.0" 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_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="NetIncomeLoss" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to NetIncomeLoss" order="9.0" 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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="10.0" 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_StockholdersEquity" xlink:label="StockholdersEquity_2" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockholdersEquity_2" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockholdersEquity" order="11.0" 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_SharesOutstanding" xlink:label="SharesOutstanding_2" xlink:title="SharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="SharesOutstanding_2" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to SharesOutstanding" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementLineItems" xlink:to="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="presentation: StatementLineItems to IncreaseDecreaseInStockholdersEquityRollForward" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementLineItems" xlink:title="presentation: StatementTable to StatementLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="StatementTable" xlink:title="presentation: StatementOfStockholdersEquityAbstract to StatementTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/DescriptionOfBusiness">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:title="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="presentation: OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract to BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPolicies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="SignificantAccountingPoliciesTextBlock" xlink:title="SignificantAccountingPoliciesTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="SignificantAccountingPoliciesTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to SignificantAccountingPoliciesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BalanceSheetComponents">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockSupplementAbstract" xlink:label="DisclosureTextBlockSupplementAbstract" xlink:title="DisclosureTextBlockSupplementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="SupplementalBalanceSheetDisclosuresTextBlock" xlink:title="SupplementalBalanceSheetDisclosuresTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureTextBlockSupplementAbstract" xlink:to="SupplementalBalanceSheetDisclosuresTextBlock" xlink:title="presentation: DisclosureTextBlockSupplementAbstract to SupplementalBalanceSheetDisclosuresTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/Leases">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="LesseeOperatingLeasesTextBlock" xlink:title="LesseeOperatingLeasesTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeasesTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeasesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/NotesPayableAndLongtermDebt">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="DebtDisclosureTextBlock" xlink:title="DebtDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="DebtDisclosureTextBlock" xlink:title="presentation: DebtDisclosureAbstract to DebtDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/EmployeeBenefitAndSavingsPlans">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" xlink:title="CompensationAndRetirementDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:title="PensionAndOtherPostretirementBenefitsDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:title="presentation: CompensationAndRetirementDisclosureAbstract to PensionAndOtherPostretirementBenefitsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxes">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="IncomeTaxDisclosureTextBlock" xlink:title="IncomeTaxDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="IncomeTaxDisclosureTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to IncomeTaxDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CommitmentsAndContingencies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" xlink:title="CommitmentsAndContingenciesDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="CommitmentsAndContingenciesDisclosureTextBlock" xlink:title="CommitmentsAndContingenciesDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="CommitmentsAndContingenciesDisclosureTextBlock" xlink:title="presentation: CommitmentsAndContingenciesDisclosureAbstract to CommitmentsAndContingenciesDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantBusinessConcentrationsAndRisk">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="RisksAndUncertaintiesAbstract" xlink:title="RisksAndUncertaintiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="ConcentrationRiskDisclosureTextBlock" xlink:title="ConcentrationRiskDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RisksAndUncertaintiesAbstract" xlink:to="ConcentrationRiskDisclosureTextBlock" xlink:title="presentation: RisksAndUncertaintiesAbstract to ConcentrationRiskDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquity">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="EquityAbstract" xlink:title="EquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="StockholdersEquityNoteDisclosureTextBlock" xlink:title="StockholdersEquityNoteDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="StockholdersEquityNoteDisclosureTextBlock" xlink:title="presentation: EquityAbstract to StockholdersEquityNoteDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/InsiderTradingArrangements">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems" xlink:label="InsiderTradingArrLineItems" xlink:title="InsiderTradingArrLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="Rule10b51ArrAdoptedFlag" xlink:title="Rule10b51ArrAdoptedFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InsiderTradingArrLineItems" xlink:to="Rule10b51ArrAdoptedFlag" xlink:title="presentation: InsiderTradingArrLineItems to Rule10b51ArrAdoptedFlag" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="NonRule10b51ArrAdoptedFlag" xlink:title="NonRule10b51ArrAdoptedFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InsiderTradingArrLineItems" xlink:to="NonRule10b51ArrAdoptedFlag" xlink:title="presentation: InsiderTradingArrLineItems to NonRule10b51ArrAdoptedFlag" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="Rule10b51ArrTrmntdFlag" xlink:title="Rule10b51ArrTrmntdFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InsiderTradingArrLineItems" xlink:to="Rule10b51ArrTrmntdFlag" xlink:title="presentation: InsiderTradingArrLineItems to Rule10b51ArrTrmntdFlag" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="NonRule10b51ArrTrmntdFlag" xlink:title="NonRule10b51ArrTrmntdFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InsiderTradingArrLineItems" xlink:to="NonRule10b51ArrTrmntdFlag" xlink:title="presentation: InsiderTradingArrLineItems to NonRule10b51ArrTrmntdFlag" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesPolicies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="UseOfEstimates" xlink:title="UseOfEstimates" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="UseOfEstimates" xlink:title="presentation: AccountingPoliciesAbstract to UseOfEstimates" order="0.0" 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_ConsolidationPolicyTextBlock" xlink:label="ConsolidationPolicyTextBlock" xlink:title="ConsolidationPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ConsolidationPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ConsolidationPolicyTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock" xlink:label="DeconsolidationOfForeignSubsidiariesPolicyTextBlock" xlink:title="DeconsolidationOfForeignSubsidiariesPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="DeconsolidationOfForeignSubsidiariesPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to DeconsolidationOfForeignSubsidiariesPolicyTextBlock" order="2.0" 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_ComparabilityOfPriorYearFinancialData" xlink:label="ComparabilityOfPriorYearFinancialData" xlink:title="ComparabilityOfPriorYearFinancialData" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ComparabilityOfPriorYearFinancialData" xlink:title="presentation: AccountingPoliciesAbstract to ComparabilityOfPriorYearFinancialData" order="3.0" 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_CashAndCashEquivalentsPolicyTextBlock" xlink:label="CashAndCashEquivalentsPolicyTextBlock" xlink:title="CashAndCashEquivalentsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="CashAndCashEquivalentsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to CashAndCashEquivalentsPolicyTextBlock" order="4.0" 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_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:label="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:title="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:title="presentation: AccountingPoliciesAbstract to ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" order="5.0" 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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" order="6.0" 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_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to RevenueFromContractWithCustomerPolicyTextBlock" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_RevenueRecognitionDiscountsPolicyTextBlock" xlink:label="RevenueRecognitionDiscountsPolicyTextBlock" xlink:title="RevenueRecognitionDiscountsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="RevenueRecognitionDiscountsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to RevenueRecognitionDiscountsPolicyTextBlock" order="8.0" 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_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:label="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:title="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to SellingGeneralAndAdministrativeExpensesPolicyTextBlock" order="9.0" 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_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to PropertyPlantAndEquipmentPolicyTextBlock" order="10.0" 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_InventoryPolicyTextBlock" xlink:label="InventoryPolicyTextBlock" xlink:title="InventoryPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="InventoryPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to InventoryPolicyTextBlock" order="11.0" 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_LesseeLeasesPolicyTextBlock" xlink:label="LesseeLeasesPolicyTextBlock" xlink:title="LesseeLeasesPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="LesseeLeasesPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to LesseeLeasesPolicyTextBlock" order="12.0" 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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:title="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" order="13.0" 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_EarningsPerSharePolicyTextBlock" xlink:label="EarningsPerSharePolicyTextBlock" xlink:title="EarningsPerSharePolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="EarningsPerSharePolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to EarningsPerSharePolicyTextBlock" order="14.0" 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_IntangibleAssetsFiniteLivedPolicy" xlink:label="IntangibleAssetsFiniteLivedPolicy" xlink:title="IntangibleAssetsFiniteLivedPolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="IntangibleAssetsFiniteLivedPolicy" xlink:title="presentation: AccountingPoliciesAbstract to IntangibleAssetsFiniteLivedPolicy" order="15.0" 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_FairValueOfFinancialInstrumentsPolicy" xlink:label="FairValueOfFinancialInstrumentsPolicy" xlink:title="FairValueOfFinancialInstrumentsPolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="FairValueOfFinancialInstrumentsPolicy" xlink:title="presentation: AccountingPoliciesAbstract to FairValueOfFinancialInstrumentsPolicy" order="16.0" 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_IncomeTaxPolicyTextBlock" xlink:label="IncomeTaxPolicyTextBlock" xlink:title="IncomeTaxPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="IncomeTaxPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to IncomeTaxPolicyTextBlock" order="17.0" 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_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="presentation: AccountingPoliciesAbstract to ShareBasedCompensationOptionAndIncentivePlansPolicy" order="18.0" 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_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="ComprehensiveIncomePolicyPolicyTextBlock" xlink:title="ComprehensiveIncomePolicyPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ComprehensiveIncomePolicyPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ComprehensiveIncomePolicyPolicyTextBlock" order="19.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ShippingAndHandlingCostsPolicyTextBlock" xlink:label="ShippingAndHandlingCostsPolicyTextBlock" xlink:title="ShippingAndHandlingCostsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ShippingAndHandlingCostsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ShippingAndHandlingCostsPolicyTextBlock" order="20.0" 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_AdvertisingCostsPolicyTextBlock" xlink:label="AdvertisingCostsPolicyTextBlock" xlink:title="AdvertisingCostsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="AdvertisingCostsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to AdvertisingCostsPolicyTextBlock" order="21.0" 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_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:title="NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to NewAccountingPronouncementsPolicyPolicyTextBlock" order="22.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="DisaggregationOfRevenueTableTextBlock" xlink:title="DisaggregationOfRevenueTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="DisaggregationOfRevenueTableTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to DisaggregationOfRevenueTableTextBlock" order="0.0" 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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BalanceSheetComponentsTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockSupplementAbstract" xlink:label="DisclosureTextBlockSupplementAbstract" xlink:title="DisclosureTextBlockSupplementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfCondensedBalanceSheetTableTextBlock" xlink:label="ScheduleOfCondensedBalanceSheetTableTextBlock" xlink:title="ScheduleOfCondensedBalanceSheetTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureTextBlockSupplementAbstract" xlink:to="ScheduleOfCondensedBalanceSheetTableTextBlock" xlink:title="presentation: DisclosureTextBlockSupplementAbstract to ScheduleOfCondensedBalanceSheetTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LesseeOperatingLeaseAssetsAndLiabilities" xlink:label="LesseeOperatingLeaseAssetsAndLiabilities" xlink:title="LesseeOperatingLeaseAssetsAndLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseAssetsAndLiabilities" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseAssetsAndLiabilities" order="0.0" 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_LeaseCostTableTextBlock" xlink:label="LeaseCostTableTextBlock" xlink:title="LeaseCostTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LeaseCostTableTextBlock" xlink:title="presentation: LeasesAbstract to LeaseCostTableTextBlock" order="1.0" 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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseLiabilityMaturityTableTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock" xlink:label="LesseeOperatingLeasesOtherInformationTableTextBlock" xlink:title="LesseeOperatingLeasesOtherInformationTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeasesOtherInformationTableTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeasesOtherInformationTableTextBlock" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" xlink:label="LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" xlink:title="LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="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="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:title="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" order="0.0" 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_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:title="ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" order="1.0" 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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:title="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" order="2.0" 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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:title="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" order="3.0" 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_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:title="ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquityTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="EquityAbstract" xlink:title="EquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:title="ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:title="presentation: EquityAbstract to ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" order="0.0" 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_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:label="ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:title="ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:title="presentation: EquityAbstract to ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/DescriptionOfBusinessDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:title="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:title="ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="presentation: SegmentGeographicalDomain to US" order="0.0" 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="CA" xlink:title="CA" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="presentation: SegmentGeographicalDomain to CA" order="1.0" 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_ES" xlink:label="ES" xlink:title="ES" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="ES" xlink:title="presentation: SegmentGeographicalDomain to ES" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="presentation: StatementGeographicalAxis to SegmentGeographicalDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="StatementGeographicalAxis" xlink:title="presentation: ScheduleOfSegmentReportingInformationBySegmentTable to StatementGeographicalAxis" order="0.0" 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_SegmentReportingInformationLineItems" xlink:label="SegmentReportingInformationLineItems" xlink:title="SegmentReportingInformationLineItems" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_BusinessDescriptionAbstract" xlink:label="BusinessDescriptionAbstract" xlink:title="BusinessDescriptionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfStores" xlink:label="NumberOfStores" xlink:title="NumberOfStores" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="BusinessDescriptionAbstract" xlink:to="NumberOfStores" xlink:title="presentation: BusinessDescriptionAbstract to NumberOfStores" order="0.0" 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_NumberOfOperatingSegments" xlink:label="NumberOfOperatingSegments" xlink:title="NumberOfOperatingSegments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="BusinessDescriptionAbstract" xlink:to="NumberOfOperatingSegments" xlink:title="presentation: BusinessDescriptionAbstract to NumberOfOperatingSegments" order="1.0" 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="NumberOfReportableSegments" xlink:title="NumberOfReportableSegments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="BusinessDescriptionAbstract" xlink:to="NumberOfReportableSegments" xlink:title="presentation: BusinessDescriptionAbstract to NumberOfReportableSegments" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingInformationLineItems" xlink:to="BusinessDescriptionAbstract" xlink:title="presentation: SegmentReportingInformationLineItems to BusinessDescriptionAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="SegmentReportingInformationLineItems" xlink:title="presentation: ScheduleOfSegmentReportingInformationBySegmentTable to SegmentReportingInformationLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:title="presentation: OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract to ScheduleOfSegmentReportingInformationBySegmentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesDeconsolidationOfForeignSubsidiariesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_DeconsolidationOfForeignSubsidiariesAbstract" xlink:label="DeconsolidationOfForeignSubsidiariesAbstract" xlink:title="DeconsolidationOfForeignSubsidiariesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeconsolidationGainOrLossAmount" xlink:label="DeconsolidationGainOrLossAmount" xlink:title="DeconsolidationGainOrLossAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeconsolidationOfForeignSubsidiariesAbstract" xlink:to="DeconsolidationGainOrLossAmount" xlink:title="presentation: DeconsolidationOfForeignSubsidiariesAbstract to DeconsolidationGainOrLossAmount" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="DeconsolidationOfForeignSubsidiariesAbstract" xlink:title="presentation: AccountingPoliciesAbstract to DeconsolidationOfForeignSubsidiariesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:label="ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:title="ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementAxis" xlink:label="RestatementAxis" xlink:title="RestatementAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementDomain" xlink:label="RestatementDomain" xlink:title="RestatementDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" xlink:label="RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" xlink:title="RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestatementDomain" xlink:to="RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" xlink:title="presentation: RestatementDomain to RevisionOfPriorPeriodErrorCorrectionAdjustmentMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestatementAxis" xlink:to="RestatementDomain" xlink:title="presentation: RestatementAxis to RestatementDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="RestatementAxis" xlink:title="presentation: ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable to RestatementAxis" order="0.0" 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_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:label="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:title="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PriorPeriodAdjustmentAbstract" xlink:label="PriorPeriodAdjustmentAbstract" xlink:title="PriorPeriodAdjustmentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PriorPeriodAdjustmentAbstract" xlink:to="InventoryNet" xlink:title="presentation: PriorPeriodAdjustmentAbstract to InventoryNet" order="0.0" 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_AccountsPayableTradeCurrent" xlink:label="AccountsPayableTradeCurrent" xlink:title="AccountsPayableTradeCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PriorPeriodAdjustmentAbstract" xlink:to="AccountsPayableTradeCurrent" xlink:title="presentation: PriorPeriodAdjustmentAbstract to AccountsPayableTradeCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:to="PriorPeriodAdjustmentAbstract" xlink:title="presentation: ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems to PriorPeriodAdjustmentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:to="ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" xlink:title="presentation: ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable to ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:title="ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="RangeAxis" xlink:title="presentation: ScheduleOfAccountsNotesLoansAndFinancingReceivableTable to RangeAxis" order="0.0" 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_AccountsNotesAndLoansReceivableLineItems" xlink:label="AccountsNotesAndLoansReceivableLineItems" xlink:title="AccountsNotesAndLoansReceivableLineItems" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" xlink:label="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:title="AccountsReceivableAndExpectedCreditLossesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:to="AccountsReceivableNetCurrent" xlink:title="presentation: AccountsReceivableAndExpectedCreditLossesAbstract to AccountsReceivableNetCurrent" order="0.0" 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_AllowanceForDoubtfulAccountsReceivable" xlink:label="AllowanceForDoubtfulAccountsReceivable" xlink:title="AllowanceForDoubtfulAccountsReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:to="AllowanceForDoubtfulAccountsReceivable" xlink:title="presentation: AccountsReceivableAndExpectedCreditLossesAbstract to AllowanceForDoubtfulAccountsReceivable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountsNotesAndLoansReceivableLineItems" xlink:to="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:title="presentation: AccountsNotesAndLoansReceivableLineItems to AccountsReceivableAndExpectedCreditLossesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="AccountsNotesAndLoansReceivableLineItems" xlink:title="presentation: ScheduleOfAccountsNotesLoansAndFinancingReceivableTable to AccountsNotesAndLoansReceivableLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ForeignCurrencyTranslationAndTransactionsTable" xlink:label="ForeignCurrencyTranslationAndTransactionsTable" xlink:title="ForeignCurrencyTranslationAndTransactionsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ForeignCurrencyTranslationAndTransactionsTable" xlink:to="RangeAxis" xlink:title="presentation: ForeignCurrencyTranslationAndTransactionsTable to RangeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ForeignCurrencyTranslationAndTransactionsLineItems" xlink:label="ForeignCurrencyTranslationAndTransactionsLineItems" xlink:title="ForeignCurrencyTranslationAndTransactionsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:label="ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:title="ForeignCurrencyTransactionGainLossBeforeTaxAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:title="presentation: ForeignCurrencyTransactionGainLossBeforeTaxAbstract to OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" order="0.0" 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_DeconsolidationGainOrLossAmount" xlink:label="DeconsolidationGainOrLossAmount" xlink:title="DeconsolidationGainOrLossAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:to="DeconsolidationGainOrLossAmount" xlink:title="presentation: ForeignCurrencyTransactionGainLossBeforeTaxAbstract to DeconsolidationGainOrLossAmount" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ForeignCurrencyTranslationAndTransactionsLineItems" xlink:to="ForeignCurrencyTransactionGainLossBeforeTaxAbstract" xlink:title="presentation: ForeignCurrencyTranslationAndTransactionsLineItems to ForeignCurrencyTransactionGainLossBeforeTaxAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ForeignCurrencyTranslationAndTransactionsTable" xlink:to="ForeignCurrencyTranslationAndTransactionsLineItems" xlink:title="presentation: ForeignCurrencyTranslationAndTransactionsTable to ForeignCurrencyTranslationAndTransactionsLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ForeignCurrencyTranslationAndTransactionsTable" xlink:title="presentation: AccountingPoliciesAbstract to ForeignCurrencyTranslationAndTransactionsTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="RangeAxis" xlink:title="presentation: DisaggregationOfRevenueTable to RangeAxis" order="0.0" 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="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="presentation: SegmentGeographicalDomain to US" order="0.0" 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="CA" xlink:title="CA" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="presentation: SegmentGeographicalDomain to CA" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OtherCountriesMember" xlink:label="OtherCountriesMember" xlink:title="OtherCountriesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="OtherCountriesMember" xlink:title="presentation: SegmentGeographicalDomain to OtherCountriesMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="presentation: StatementGeographicalAxis to SegmentGeographicalDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="StatementGeographicalAxis" xlink:title="presentation: DisaggregationOfRevenueTable to StatementGeographicalAxis" order="1.0" 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="BalanceSheetLocationAxis" xlink:title="BalanceSheetLocationAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="BalanceSheetLocationDomain" xlink:title="BalanceSheetLocationDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesMember" xlink:label="OtherLiabilitiesMember" xlink:title="OtherLiabilitiesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="BalanceSheetLocationDomain" xlink:to="OtherLiabilitiesMember" xlink:title="presentation: BalanceSheetLocationDomain to OtherLiabilitiesMember" order="0.0" 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_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="AccountsPayableAndAccruedLiabilitiesMember" xlink:title="AccountsPayableAndAccruedLiabilitiesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="BalanceSheetLocationDomain" xlink:to="AccountsPayableAndAccruedLiabilitiesMember" xlink:title="presentation: BalanceSheetLocationDomain to AccountsPayableAndAccruedLiabilitiesMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="BalanceSheetLocationAxis" xlink:to="BalanceSheetLocationDomain" xlink:title="presentation: BalanceSheetLocationAxis to BalanceSheetLocationDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="BalanceSheetLocationAxis" xlink:title="presentation: DisaggregationOfRevenueTable to BalanceSheetLocationAxis" order="2.0" 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_DisaggregationOfRevenueLineItems" xlink:label="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="RevenueFromContractWithCustomerAbstract" xlink:title="RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="DeferredRevenue" xlink:title="DeferredRevenue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="DeferredRevenue" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to DeferredRevenue" order="0.0" 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_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:label="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:title="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_InventoryMerchandiseExpectedToBeReturned" xlink:label="InventoryMerchandiseExpectedToBeReturned" xlink:title="InventoryMerchandiseExpectedToBeReturned" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="InventoryMerchandiseExpectedToBeReturned" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to InventoryMerchandiseExpectedToBeReturned" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_GiftCardRedemptionPeriod" xlink:label="GiftCardRedemptionPeriod" xlink:title="GiftCardRedemptionPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="GiftCardRedemptionPeriod" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to GiftCardRedemptionPeriod" order="3.0" 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_ContractWithCustomerLiability" xlink:label="ContractWithCustomerLiability" xlink:title="ContractWithCustomerLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="ContractWithCustomerLiability" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to ContractWithCustomerLiability" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ContractWithCustomerLiabilityForGiftCardsIssued" xlink:label="ContractWithCustomerLiabilityForGiftCardsIssued" xlink:title="ContractWithCustomerLiabilityForGiftCardsIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="ContractWithCustomerLiabilityForGiftCardsIssued" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to ContractWithCustomerLiabilityForGiftCardsIssued" order="5.0" 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_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="ContractWithCustomerLiabilityRevenueRecognized" xlink:title="ContractWithCustomerLiabilityRevenueRecognized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="ContractWithCustomerLiabilityRevenueRecognized" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to ContractWithCustomerLiabilityRevenueRecognized" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="RevenueFromContractWithCustomerAbstract" xlink:title="presentation: DisaggregationOfRevenueLineItems to RevenueFromContractWithCustomerAbstract" order="0.0" 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_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: DisaggregationOfRevenueAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueAbstract" xlink:title="presentation: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="DisaggregationOfRevenueLineItems" xlink:title="presentation: DisaggregationOfRevenueTable to DisaggregationOfRevenueLineItems" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="DisaggregationOfRevenueTable" xlink:title="presentation: AccountingPoliciesAbstract to DisaggregationOfRevenueTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesDiscountsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_DiscountsAbstract" xlink:label="DiscountsAbstract" xlink:title="DiscountsAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NumberOfClassesOfCustomerDiscounts" xlink:label="NumberOfClassesOfCustomerDiscounts" xlink:title="NumberOfClassesOfCustomerDiscounts" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DiscountsAbstract" xlink:to="NumberOfClassesOfCustomerDiscounts" xlink:title="presentation: DiscountsAbstract to NumberOfClassesOfCustomerDiscounts" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="DiscountsAbstract" xlink:title="presentation: AccountingPoliciesAbstract to DiscountsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="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="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="0.0" 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_FurnitureAndFixturesMember" xlink:label="FurnitureAndFixturesMember" xlink:title="FurnitureAndFixturesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndFixturesMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to FurnitureAndFixturesMember" order="1.0" 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_VehiclesMember" xlink:label="VehiclesMember" xlink:title="VehiclesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="VehiclesMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to VehiclesMember" order="2.0" 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_BuildingAndBuildingImprovementsMember" xlink:label="BuildingAndBuildingImprovementsMember" xlink:title="BuildingAndBuildingImprovementsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="BuildingAndBuildingImprovementsMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to BuildingAndBuildingImprovementsMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="presentation: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="0.0" 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_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" 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_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="RangeAxis" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to RangeAxis" order="1.0" 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_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNetAbstract" xlink:label="PropertyPlantAndEquipmentNetAbstract" xlink:title="PropertyPlantAndEquipmentNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="PropertyPlantAndEquipmentUsefulLife" xlink:title="PropertyPlantAndEquipmentUsefulLife" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentNetAbstract" xlink:to="PropertyPlantAndEquipmentUsefulLife" xlink:title="presentation: PropertyPlantAndEquipmentNetAbstract to PropertyPlantAndEquipmentUsefulLife" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNetAbstract" xlink:title="presentation: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentLineItems" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfPropertyPlantAndEquipmentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="LesseeLeaseDescriptionTable" xlink:title="LesseeLeaseDescriptionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionTable" xlink:to="RangeAxis" xlink:title="presentation: LesseeLeaseDescriptionTable to RangeAxis" order="0.0" 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_LesseeLeaseDescriptionLineItems" xlink:label="LesseeLeaseDescriptionLineItems" xlink:title="LesseeLeaseDescriptionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="FinanceLeaseInterestExpense" xlink:title="FinanceLeaseInterestExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="FinanceLeaseInterestExpense" xlink:title="presentation: LeasesAbstract to FinanceLeaseInterestExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LeasesAbstract" xlink:title="presentation: LesseeLeaseDescriptionLineItems to LeasesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionTable" xlink:to="LesseeLeaseDescriptionLineItems" xlink:title="presentation: LesseeLeaseDescriptionTable to LesseeLeaseDescriptionLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="LesseeLeaseDescriptionTable" xlink:title="presentation: AccountingPoliciesAbstract to LesseeLeaseDescriptionTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesImpairmentOfLonglivedAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentChargesAbstract" xlink:label="AssetImpairmentChargesAbstract" xlink:title="AssetImpairmentChargesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:label="ImpairmentOfLongLivedAssetsHeldForUse" xlink:title="ImpairmentOfLongLivedAssetsHeldForUse" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetImpairmentChargesAbstract" xlink:to="ImpairmentOfLongLivedAssetsHeldForUse" xlink:title="presentation: AssetImpairmentChargesAbstract to ImpairmentOfLongLivedAssetsHeldForUse" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="AssetImpairmentChargesAbstract" xlink:title="presentation: AccountingPoliciesAbstract to AssetImpairmentChargesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:label="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:title="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:label="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:title="ScheduleOfEarningsPerShareDilutedByCommonClassTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember" xlink:label="RestrictedStockMember" xlink:title="RestrictedStockMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfEarningsPerShareDilutedByCommonClassTable to AwardTypeAxis" order="0.0" 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_TitleOfIndividualAxis" xlink:label="TitleOfIndividualAxis" xlink:title="TitleOfIndividualAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember" xlink:label="DirectorMember" xlink:title="DirectorMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="DirectorMember" xlink:title="presentation: TitleOfIndividualWithRelationshipToEntityDomain to DirectorMember" order="0.0" 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_ShareBasedPaymentArrangementEmployeeMember" xlink:label="ShareBasedPaymentArrangementEmployeeMember" xlink:title="ShareBasedPaymentArrangementEmployeeMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="ShareBasedPaymentArrangementEmployeeMember" xlink:title="presentation: TitleOfIndividualWithRelationshipToEntityDomain to ShareBasedPaymentArrangementEmployeeMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualAxis" xlink:to="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="presentation: TitleOfIndividualAxis to TitleOfIndividualWithRelationshipToEntityDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:to="TitleOfIndividualAxis" xlink:title="presentation: ScheduleOfEarningsPerShareDilutedByCommonClassTable to TitleOfIndividualAxis" order="1.0" 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_EarningsPerShareDilutedLineItems" xlink:label="EarningsPerShareDilutedLineItems" xlink:title="EarningsPerShareDilutedLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="NetIncomeLossAbstract" xlink:title="NetIncomeLossAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetIncomeLossAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: NetIncomeLossAbstract to NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="NetIncomeLossAbstract" xlink:title="presentation: EarningsPerShareDilutedLineItems to NetIncomeLossAbstract" order="0.0" 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_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingAbstract to WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" 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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingAbstract to IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="1.0" 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_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingAbstract to WeightedAverageNumberOfDilutedSharesOutstanding" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="presentation: EarningsPerShareDilutedLineItems to WeightedAverageNumberOfSharesOutstandingAbstract" order="1.0" 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_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:label="IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:title="IncrementalCommonSharesAttributableToContingentlyIssuableShares" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:title="presentation: EarningsPerShareDilutedLineItems to IncrementalCommonSharesAttributableToContingentlyIssuableShares" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:to="EarningsPerShareDilutedLineItems" xlink:title="presentation: ScheduleOfEarningsPerShareDilutedByCommonClassTable to EarningsPerShareDilutedLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:to="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:title="presentation: NetIncomeLossAvailableToCommonStockholdersBasicAbstract to ScheduleOfEarningsPerShareDilutedByCommonClassTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:title="presentation: AccountingPoliciesAbstract to NetIncomeLossAvailableToCommonStockholdersBasicAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="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="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntellectualPropertyMember" xlink:label="IntellectualPropertyMember" xlink:title="IntellectualPropertyMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="IntellectualPropertyMember" xlink:title="presentation: FiniteLivedIntangibleAssetsMajorClassNameDomain to IntellectualPropertyMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="presentation: FiniteLivedIntangibleAssetsByMajorClassAxis to FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="presentation: ScheduleOfFiniteLivedIntangibleAssetsTable to FiniteLivedIntangibleAssetsByMajorClassAxis" order="0.0" 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_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="RangeAxis" xlink:title="presentation: ScheduleOfFiniteLivedIntangibleAssetsTable to RangeAxis" order="1.0" 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_FiniteLivedIntangibleAssetsLineItems" xlink:label="FiniteLivedIntangibleAssetsLineItems" xlink:title="FiniteLivedIntangibleAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="FiniteLivedIntangibleAssetsNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:title="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" order="0.0" 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_AmortizationOfIntangibleAssets" xlink:label="AmortizationOfIntangibleAssets" xlink:title="AmortizationOfIntangibleAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="AmortizationOfIntangibleAssets" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to AmortizationOfIntangibleAssets" order="1.0" 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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="2.0" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="3.0" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="4.0" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="5.0" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="presentation: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="FiniteLivedIntangibleAssetsLineItems" xlink:title="presentation: ScheduleOfFiniteLivedIntangibleAssetsTable to FiniteLivedIntangibleAssetsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfFiniteLivedIntangibleAssetsTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_FairValueOfFinancialInstrumentsAbstract" xlink:label="FairValueOfFinancialInstrumentsAbstract" xlink:title="FairValueOfFinancialInstrumentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:label="FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:title="FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueOfFinancialInstrumentsAbstract" xlink:to="FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:title="presentation: FairValueOfFinancialInstrumentsAbstract to FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="FairValueOfFinancialInstrumentsAbstract" xlink:title="presentation: AccountingPoliciesAbstract to FairValueOfFinancialInstrumentsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="ScheduleOfProductInformationTable" xlink:title="ScheduleOfProductInformationTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="ProductOrServiceAxis" xlink:title="ProductOrServiceAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain" xlink:title="ProductsAndServicesDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="ShippingAndHandlingMember" xlink:title="ShippingAndHandlingMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="ShippingAndHandlingMember" xlink:title="presentation: ProductsAndServicesDomain to ShippingAndHandlingMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductOrServiceAxis" xlink:to="ProductsAndServicesDomain" xlink:title="presentation: ProductOrServiceAxis to ProductsAndServicesDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfProductInformationTable" xlink:to="ProductOrServiceAxis" xlink:title="presentation: ScheduleOfProductInformationTable to ProductOrServiceAxis" order="0.0" 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_ProductInformationLineItems" xlink:label="ProductInformationLineItems" xlink:title="ProductInformationLineItems" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ShippingAndHandlingCostsAbstract" xlink:label="ShippingAndHandlingCostsAbstract" xlink:title="ShippingAndHandlingCostsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingCostsAndExpenses" xlink:label="OperatingCostsAndExpenses" xlink:title="OperatingCostsAndExpenses" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShippingAndHandlingCostsAbstract" xlink:to="OperatingCostsAndExpenses" xlink:title="presentation: ShippingAndHandlingCostsAbstract to OperatingCostsAndExpenses" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductInformationLineItems" xlink:to="ShippingAndHandlingCostsAbstract" xlink:title="presentation: ProductInformationLineItems to ShippingAndHandlingCostsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfProductInformationTable" xlink:to="ProductInformationLineItems" xlink:title="presentation: ScheduleOfProductInformationTable to ProductInformationLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfProductInformationTable" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfProductInformationTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantAccountingPoliciesAdvertisingDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketingAndAdvertisingExpenseAbstract" xlink:label="MarketingAndAdvertisingExpenseAbstract" xlink:title="MarketingAndAdvertisingExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense" xlink:label="AdvertisingExpense" xlink:title="AdvertisingExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MarketingAndAdvertisingExpenseAbstract" xlink:to="AdvertisingExpense" xlink:title="presentation: MarketingAndAdvertisingExpenseAbstract to AdvertisingExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="MarketingAndAdvertisingExpenseAbstract" xlink:title="presentation: AccountingPoliciesAbstract to MarketingAndAdvertisingExpenseAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockSupplementAbstract" xlink:label="DisclosureTextBlockSupplementAbstract" xlink:title="DisclosureTextBlockSupplementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNetAbstract" xlink:label="InventoryNetAbstract" xlink:title="InventoryNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="InventoryFinishedGoods" xlink:title="InventoryFinishedGoods" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryNetAbstract" xlink:to="InventoryFinishedGoods" xlink:title="presentation: InventoryNetAbstract to InventoryFinishedGoods" order="0.0" 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_InventoryWorkInProcessAndRawMaterials" xlink:label="InventoryWorkInProcessAndRawMaterials" xlink:title="InventoryWorkInProcessAndRawMaterials" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryNetAbstract" xlink:to="InventoryWorkInProcessAndRawMaterials" xlink:title="presentation: InventoryNetAbstract to InventoryWorkInProcessAndRawMaterials" order="1.0" 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_OtherInventoryInTransit" xlink:label="OtherInventoryInTransit" xlink:title="OtherInventoryInTransit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryNetAbstract" xlink:to="OtherInventoryInTransit" xlink:title="presentation: InventoryNetAbstract to OtherInventoryInTransit" order="2.0" 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_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryNetAbstract" xlink:to="InventoryNet" xlink:title="presentation: InventoryNetAbstract to InventoryNet" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryNetAbstract" xlink:title="presentation: InventoryDisclosureAbstract to InventoryNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureTextBlockSupplementAbstract" xlink:to="InventoryDisclosureAbstract" xlink:title="presentation: DisclosureTextBlockSupplementAbstract to InventoryDisclosureAbstract" order="0.0" 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_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="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="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingMember" xlink:label="BuildingMember" xlink:title="BuildingMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="BuildingMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to BuildingMember" order="0.0" 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_LandMember" xlink:label="LandMember" xlink:title="LandMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="LandMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to LandMember" order="1.0" 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_LeaseholdImprovementsMember" xlink:label="LeaseholdImprovementsMember" xlink:title="LeaseholdImprovementsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="LeaseholdImprovementsMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to LeaseholdImprovementsMember" order="2.0" 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_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="3.0" 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_FurnitureAndFixturesMember" xlink:label="FurnitureAndFixturesMember" xlink:title="FurnitureAndFixturesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndFixturesMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to FurnitureAndFixturesMember" order="4.0" 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_VehiclesMember" xlink:label="VehiclesMember" xlink:title="VehiclesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="VehiclesMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to VehiclesMember" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="presentation: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="0.0" 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="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="presentation: SegmentGeographicalDomain to US" order="0.0" 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="CA" xlink:title="CA" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="presentation: SegmentGeographicalDomain to CA" order="1.0" 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_ES" xlink:label="ES" xlink:title="ES" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="ES" xlink:title="presentation: SegmentGeographicalDomain to ES" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="presentation: StatementGeographicalAxis to SegmentGeographicalDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="StatementGeographicalAxis" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to StatementGeographicalAxis" order="1.0" 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_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:label="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="PropertyPlantAndEquipmentNetByTypeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="PropertyPlantAndEquipmentGross" xlink:title="presentation: PropertyPlantAndEquipmentNetByTypeAbstract to PropertyPlantAndEquipmentGross" order="0.0" 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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="presentation: PropertyPlantAndEquipmentNetByTypeAbstract to AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="1.0" 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_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="presentation: PropertyPlantAndEquipmentNetByTypeAbstract to PropertyPlantAndEquipmentNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="presentation: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNetByTypeAbstract" order="0.0" 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_Depreciation" xlink:label="Depreciation" xlink:title="Depreciation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="Depreciation" xlink:title="presentation: PropertyPlantAndEquipmentLineItems to Depreciation" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentLineItems" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureTextBlockSupplementAbstract" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="presentation: DisclosureTextBlockSupplementAbstract to ScheduleOfPropertyPlantAndEquipmentTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockSupplementAbstract" xlink:label="DisclosureTextBlockSupplementAbstract" xlink:title="DisclosureTextBlockSupplementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:label="AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:title="AccruedLiabilitiesAndOtherLiabilitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="EmployeeRelatedLiabilitiesCurrent" xlink:title="EmployeeRelatedLiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="EmployeeRelatedLiabilitiesCurrent" xlink:title="presentation: AccruedLiabilitiesAndOtherLiabilitiesAbstract to EmployeeRelatedLiabilitiesCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:label="ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:title="ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" xlink:title="presentation: AccruedLiabilitiesAndOtherLiabilitiesAbstract to ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ExpectedMerchandiseReturns" xlink:label="ExpectedMerchandiseReturns" xlink:title="ExpectedMerchandiseReturns" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="ExpectedMerchandiseReturns" xlink:title="presentation: AccruedLiabilitiesAndOtherLiabilitiesAbstract to ExpectedMerchandiseReturns" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_SalesAndPayrollTaxesPayable" xlink:label="SalesAndPayrollTaxesPayable" xlink:title="SalesAndPayrollTaxesPayable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="SalesAndPayrollTaxesPayable" xlink:title="presentation: AccruedLiabilitiesAndOtherLiabilitiesAbstract to SalesAndPayrollTaxesPayable" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_AccruedVendorPayablesCurrent" xlink:label="AccruedVendorPayablesCurrent" xlink:title="AccruedVendorPayablesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="AccruedVendorPayablesCurrent" xlink:title="presentation: AccruedLiabilitiesAndOtherLiabilitiesAbstract to AccruedVendorPayablesCurrent" order="4.0" 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_AccruedLiabilitiesAndOtherLiabilities" xlink:label="AccruedLiabilitiesAndOtherLiabilities" xlink:title="AccruedLiabilitiesAndOtherLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="AccruedLiabilitiesAndOtherLiabilities" xlink:title="presentation: AccruedLiabilitiesAndOtherLiabilitiesAbstract to AccruedLiabilitiesAndOtherLiabilities" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureTextBlockSupplementAbstract" xlink:to="AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:title="presentation: DisclosureTextBlockSupplementAbstract to AccruedLiabilitiesAndOtherLiabilitiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="LesseeLeaseDescriptionTable" xlink:title="LesseeLeaseDescriptionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="IncomeStatementLocationAxis" xlink:title="IncomeStatementLocationAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="IncomeStatementLocationDomain" xlink:title="IncomeStatementLocationDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenseMember" xlink:label="OperatingExpenseMember" xlink:title="OperatingExpenseMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementLocationDomain" xlink:to="OperatingExpenseMember" xlink:title="presentation: IncomeStatementLocationDomain to OperatingExpenseMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ImpairmentExpenseMember" xlink:label="ImpairmentExpenseMember" xlink:title="ImpairmentExpenseMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementLocationDomain" xlink:to="ImpairmentExpenseMember" xlink:title="presentation: IncomeStatementLocationDomain to ImpairmentExpenseMember" order="1.0" 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_InterestExpenseMember" xlink:label="InterestExpenseMember" xlink:title="InterestExpenseMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementLocationDomain" xlink:to="InterestExpenseMember" xlink:title="presentation: IncomeStatementLocationDomain to InterestExpenseMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementLocationAxis" xlink:to="IncomeStatementLocationDomain" xlink:title="presentation: IncomeStatementLocationAxis to IncomeStatementLocationDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionTable" xlink:to="IncomeStatementLocationAxis" xlink:title="presentation: LesseeLeaseDescriptionTable to IncomeStatementLocationAxis" order="0.0" 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_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="AdjustmentsForNewAccountingPronouncementsAxis" xlink:title="AdjustmentsForNewAccountingPronouncementsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="TypeOfAdoptionMember" xlink:title="TypeOfAdoptionMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="AccountingStandardsUpdate201602Member" xlink:title="AccountingStandardsUpdate201602Member" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TypeOfAdoptionMember" xlink:to="AccountingStandardsUpdate201602Member" xlink:title="presentation: TypeOfAdoptionMember to AccountingStandardsUpdate201602Member" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="TypeOfAdoptionMember" xlink:title="presentation: AdjustmentsForNewAccountingPronouncementsAxis to TypeOfAdoptionMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionTable" xlink:to="AdjustmentsForNewAccountingPronouncementsAxis" xlink:title="presentation: LesseeLeaseDescriptionTable to AdjustmentsForNewAccountingPronouncementsAxis" order="1.0" 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_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionTable" xlink:to="RangeAxis" xlink:title="presentation: LesseeLeaseDescriptionTable to RangeAxis" order="2.0" 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_LesseeLeaseDescriptionLineItems" xlink:label="LesseeLeaseDescriptionLineItems" xlink:title="LesseeLeaseDescriptionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="presentation: AssetsAbstract to OperatingLeaseRightOfUseAsset" order="0.0" 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_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:title="OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:title="presentation: AssetsAbstract to OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" order="1.0" 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_FinanceLeaseRightOfUseAsset" xlink:label="FinanceLeaseRightOfUseAsset" xlink:title="FinanceLeaseRightOfUseAsset" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="FinanceLeaseRightOfUseAsset" xlink:title="presentation: AssetsAbstract to FinanceLeaseRightOfUseAsset" order="2.0" 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_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:title="FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:title="presentation: AssetsAbstract to FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LeaseAssets" xlink:label="LeaseAssets" xlink:title="LeaseAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="LeaseAssets" xlink:title="presentation: AssetsAbstract to LeaseAssets" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="AssetsAbstract" xlink:title="presentation: LesseeLeaseDescriptionLineItems to AssetsAbstract" order="0.0" 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_LiabilitiesAbstract" xlink:label="LiabilitiesAbstract" xlink:title="LiabilitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OperatingLeaseCurrentLiabilityAbstract" xlink:label="OperatingLeaseCurrentLiabilityAbstract" xlink:title="OperatingLeaseCurrentLiabilityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseCurrentLiabilityAbstract" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="presentation: OperatingLeaseCurrentLiabilityAbstract to OperatingLeaseLiabilityCurrent" order="0.0" 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_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:title="OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseCurrentLiabilityAbstract" xlink:to="OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:title="presentation: OperatingLeaseCurrentLiabilityAbstract to OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" order="1.0" 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_FinanceLeaseLiabilityCurrent" xlink:label="FinanceLeaseLiabilityCurrent" xlink:title="FinanceLeaseLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseCurrentLiabilityAbstract" xlink:to="FinanceLeaseLiabilityCurrent" xlink:title="presentation: OperatingLeaseCurrentLiabilityAbstract to FinanceLeaseLiabilityCurrent" order="2.0" 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_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:title="FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseCurrentLiabilityAbstract" xlink:to="FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:title="presentation: OperatingLeaseCurrentLiabilityAbstract to FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAbstract" xlink:to="OperatingLeaseCurrentLiabilityAbstract" xlink:title="presentation: LiabilitiesAbstract to OperatingLeaseCurrentLiabilityAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OperatingLeaseNonCurrentLiabilityAbstract" xlink:label="OperatingLeaseNonCurrentLiabilityAbstract" xlink:title="OperatingLeaseNonCurrentLiabilityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseNonCurrentLiabilityAbstract" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="presentation: OperatingLeaseNonCurrentLiabilityAbstract to OperatingLeaseLiabilityNoncurrent" order="0.0" 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_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:title="OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseNonCurrentLiabilityAbstract" xlink:to="OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:title="presentation: OperatingLeaseNonCurrentLiabilityAbstract to OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" order="1.0" 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_FinanceLeaseLiabilityNoncurrent" xlink:label="FinanceLeaseLiabilityNoncurrent" xlink:title="FinanceLeaseLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseNonCurrentLiabilityAbstract" xlink:to="FinanceLeaseLiabilityNoncurrent" xlink:title="presentation: OperatingLeaseNonCurrentLiabilityAbstract to FinanceLeaseLiabilityNoncurrent" order="2.0" 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_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:title="FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseNonCurrentLiabilityAbstract" xlink:to="FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:title="presentation: OperatingLeaseNonCurrentLiabilityAbstract to FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAbstract" xlink:to="OperatingLeaseNonCurrentLiabilityAbstract" xlink:title="presentation: LiabilitiesAbstract to OperatingLeaseNonCurrentLiabilityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LeaseLiabilities" xlink:label="LeaseLiabilities" xlink:title="LeaseLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAbstract" xlink:to="LeaseLiabilities" xlink:title="presentation: LiabilitiesAbstract to LeaseLiabilities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LiabilitiesAbstract" xlink:title="presentation: LesseeLeaseDescriptionLineItems to LiabilitiesAbstract" order="1.0" 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_LeaseCostAbstract" xlink:label="LeaseCostAbstract" xlink:title="LeaseCostAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="OperatingLeaseCost" xlink:title="OperatingLeaseCost" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeaseCostAbstract" xlink:to="OperatingLeaseCost" xlink:title="presentation: LeaseCostAbstract to OperatingLeaseCost" order="0.0" 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_OperatingLeaseImpairmentLoss" xlink:label="OperatingLeaseImpairmentLoss" xlink:title="OperatingLeaseImpairmentLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeaseCostAbstract" xlink:to="OperatingLeaseImpairmentLoss" xlink:title="presentation: LeaseCostAbstract to OperatingLeaseImpairmentLoss" order="1.0" 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_ShortTermLeaseCost" xlink:label="ShortTermLeaseCost" xlink:title="ShortTermLeaseCost" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeaseCostAbstract" xlink:to="ShortTermLeaseCost" xlink:title="presentation: LeaseCostAbstract to ShortTermLeaseCost" order="2.0" 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_VariableLeaseCost" xlink:label="VariableLeaseCost" xlink:title="VariableLeaseCost" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeaseCostAbstract" xlink:to="VariableLeaseCost" xlink:title="presentation: LeaseCostAbstract to VariableLeaseCost" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_FinanceLeaseCostsAbstract" xlink:label="FinanceLeaseCostsAbstract" xlink:title="FinanceLeaseCostsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="FinanceLeaseRightOfUseAssetAmortization" xlink:title="FinanceLeaseRightOfUseAssetAmortization" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FinanceLeaseCostsAbstract" xlink:to="FinanceLeaseRightOfUseAssetAmortization" xlink:title="presentation: FinanceLeaseCostsAbstract to FinanceLeaseRightOfUseAssetAmortization" order="0.0" 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_FinanceLeaseInterestExpense" xlink:label="FinanceLeaseInterestExpense" xlink:title="FinanceLeaseInterestExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FinanceLeaseCostsAbstract" xlink:to="FinanceLeaseInterestExpense" xlink:title="presentation: FinanceLeaseCostsAbstract to FinanceLeaseInterestExpense" order="1.0" 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_LeaseCost" xlink:label="LeaseCost" xlink:title="LeaseCost" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FinanceLeaseCostsAbstract" xlink:to="LeaseCost" xlink:title="presentation: FinanceLeaseCostsAbstract to LeaseCost" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeaseCostAbstract" xlink:to="FinanceLeaseCostsAbstract" xlink:title="presentation: LeaseCostAbstract to FinanceLeaseCostsAbstract" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LeaseCostAbstract" xlink:title="presentation: LesseeLeaseDescriptionLineItems to LeaseCostAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionTable" xlink:to="LesseeLeaseDescriptionLineItems" xlink:title="presentation: LesseeLeaseDescriptionTable to LesseeLeaseDescriptionLineItems" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeLeaseDescriptionTable" xlink:title="presentation: LeasesAbstract to LesseeLeaseDescriptionTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="OperatingLeaseLiabilitiesPaymentsDueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0.0" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="1.0" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="2.0" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="3.0" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="4.0" 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_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="5.0" 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="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDue" order="6.0" 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="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="7.0" 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_OperatingLeaseLiability" xlink:label="OperatingLeaseLiability" xlink:title="OperatingLeaseLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="OperatingLeaseLiability" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to OperatingLeaseLiability" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="presentation: LeasesAbstract to OperatingLeaseLiabilitiesPaymentsDueAbstract" order="0.0" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:title="FinanceLeaseLiabilitiesPaymentsDueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="presentation: FinanceLeaseLiabilitiesPaymentsDueAbstract to FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" order="0.0" 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_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:title="FinanceLeaseLiabilityPaymentsDueYearTwo" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:title="presentation: FinanceLeaseLiabilitiesPaymentsDueAbstract to FinanceLeaseLiabilityPaymentsDueYearTwo" order="1.0" 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_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="FinanceLeaseLiabilityPaymentsDueYearThree" xlink:title="FinanceLeaseLiabilityPaymentsDueYearThree" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="FinanceLeaseLiabilityPaymentsDueYearThree" xlink:title="presentation: FinanceLeaseLiabilitiesPaymentsDueAbstract to FinanceLeaseLiabilityPaymentsDueYearThree" order="2.0" 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_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="FinanceLeaseLiabilityPaymentsDueYearFour" xlink:title="FinanceLeaseLiabilityPaymentsDueYearFour" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="FinanceLeaseLiabilityPaymentsDueYearFour" xlink:title="presentation: FinanceLeaseLiabilitiesPaymentsDueAbstract to FinanceLeaseLiabilityPaymentsDueYearFour" order="3.0" 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_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="FinanceLeaseLiabilityPaymentsDueYearFive" xlink:title="FinanceLeaseLiabilityPaymentsDueYearFive" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="FinanceLeaseLiabilityPaymentsDueYearFive" xlink:title="presentation: FinanceLeaseLiabilitiesPaymentsDueAbstract to FinanceLeaseLiabilityPaymentsDueYearFive" order="4.0" 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_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="FinanceLeaseLiabilityPaymentsDueAfterYearFive" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="presentation: FinanceLeaseLiabilitiesPaymentsDueAbstract to FinanceLeaseLiabilityPaymentsDueAfterYearFive" order="5.0" 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_FinanceLeaseLiabilityPaymentsDue" xlink:label="FinanceLeaseLiabilityPaymentsDue" xlink:title="FinanceLeaseLiabilityPaymentsDue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="FinanceLeaseLiabilityPaymentsDue" xlink:title="presentation: FinanceLeaseLiabilitiesPaymentsDueAbstract to FinanceLeaseLiabilityPaymentsDue" order="6.0" 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_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:title="FinanceLeaseLiabilityUndiscountedExcessAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:title="presentation: FinanceLeaseLiabilitiesPaymentsDueAbstract to FinanceLeaseLiabilityUndiscountedExcessAmount" order="7.0" 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_FinanceLeaseLiability" xlink:label="FinanceLeaseLiability" xlink:title="FinanceLeaseLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="FinanceLeaseLiability" xlink:title="presentation: FinanceLeaseLiabilitiesPaymentsDueAbstract to FinanceLeaseLiability" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:title="presentation: LeasesAbstract to FinanceLeaseLiabilitiesPaymentsDueAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01" />
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesOperatingLeasesOtherInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xlink:label="CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xlink:title="CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="OperatingLeasePayments" xlink:title="OperatingLeasePayments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xlink:to="OperatingLeasePayments" xlink:title="presentation: CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract to OperatingLeasePayments" order="0.0" 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_FinanceLeaseInterestPaymentOnLiability" xlink:label="FinanceLeaseInterestPaymentOnLiability" xlink:title="FinanceLeaseInterestPaymentOnLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xlink:to="FinanceLeaseInterestPaymentOnLiability" xlink:title="presentation: CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract to FinanceLeaseInterestPaymentOnLiability" order="1.0" 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_FinanceLeasePrincipalPayments" xlink:label="FinanceLeasePrincipalPayments" xlink:title="FinanceLeasePrincipalPayments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xlink:to="FinanceLeasePrincipalPayments" xlink:title="presentation: CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract to FinanceLeasePrincipalPayments" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" xlink:title="presentation: LeasesAbstract to CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_LeaseTermAndDiscountRateAbstract" xlink:label="LeaseTermAndDiscountRateAbstract" xlink:title="LeaseTermAndDiscountRateAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_WeightedAverageRemainingLeaseTermAbstract" xlink:label="WeightedAverageRemainingLeaseTermAbstract" xlink:title="WeightedAverageRemainingLeaseTermAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageRemainingLeaseTermAbstract" xlink:to="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="presentation: WeightedAverageRemainingLeaseTermAbstract to OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="0.0" 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_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="FinanceLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageRemainingLeaseTermAbstract" xlink:to="FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="presentation: WeightedAverageRemainingLeaseTermAbstract to FinanceLeaseWeightedAverageRemainingLeaseTerm1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeaseTermAndDiscountRateAbstract" xlink:to="WeightedAverageRemainingLeaseTermAbstract" xlink:title="presentation: LeaseTermAndDiscountRateAbstract to WeightedAverageRemainingLeaseTermAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_WeightedAverageDiscountRateAbstract" xlink:label="WeightedAverageDiscountRateAbstract" xlink:title="WeightedAverageDiscountRateAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageDiscountRateAbstract" xlink:to="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="presentation: WeightedAverageDiscountRateAbstract to OperatingLeaseWeightedAverageDiscountRatePercent" order="0.0" 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_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="FinanceLeaseWeightedAverageDiscountRatePercent" xlink:title="FinanceLeaseWeightedAverageDiscountRatePercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageDiscountRateAbstract" xlink:to="FinanceLeaseWeightedAverageDiscountRatePercent" xlink:title="presentation: WeightedAverageDiscountRateAbstract to FinanceLeaseWeightedAverageDiscountRatePercent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeaseTermAndDiscountRateAbstract" xlink:to="WeightedAverageDiscountRateAbstract" xlink:title="presentation: LeaseTermAndDiscountRateAbstract to WeightedAverageDiscountRateAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LeaseTermAndDiscountRateAbstract" xlink:title="presentation: LeasesAbstract to LeaseTermAndDiscountRateAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:label="InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:title="InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentNameDomain" xlink:to="InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" xlink:title="presentation: DebtInstrumentNameDomain to InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain" xlink:title="presentation: DebtInstrumentAxis to DebtInstrumentNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentAxis" xlink:title="presentation: DebtInstrumentTable to DebtInstrumentAxis" order="0.0" 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_LineOfCreditFacilityAxis" xlink:label="LineOfCreditFacilityAxis" xlink:title="LineOfCreditFacilityAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="LineOfCreditFacilityLenderDomain" xlink:title="LineOfCreditFacilityLenderDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_JPMorganChaseBankNAMember" xlink:label="JPMorganChaseBankNAMember" xlink:title="JPMorganChaseBankNAMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityLenderDomain" xlink:to="JPMorganChaseBankNAMember" xlink:title="presentation: LineOfCreditFacilityLenderDomain to JPMorganChaseBankNAMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAxis" xlink:to="LineOfCreditFacilityLenderDomain" xlink:title="presentation: LineOfCreditFacilityAxis to LineOfCreditFacilityLenderDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="LineOfCreditFacilityAxis" xlink:title="presentation: DebtInstrumentTable to LineOfCreditFacilityAxis" order="1.0" 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_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentsAbstract" xlink:label="DebtInstrumentsAbstract" xlink:title="DebtInstrumentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="ProceedsFromIssuanceOfLongTermDebt" xlink:title="ProceedsFromIssuanceOfLongTermDebt" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentsAbstract" xlink:to="ProceedsFromIssuanceOfLongTermDebt" xlink:title="presentation: DebtInstrumentsAbstract to ProceedsFromIssuanceOfLongTermDebt" order="0.0" 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_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentsAbstract" xlink:to="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="presentation: DebtInstrumentsAbstract to LineOfCreditFacilityMaximumBorrowingCapacity" order="1.0" 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_ProceedsFromLinesOfCredit" xlink:label="ProceedsFromLinesOfCredit" xlink:title="ProceedsFromLinesOfCredit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentsAbstract" xlink:to="ProceedsFromLinesOfCredit" xlink:title="presentation: DebtInstrumentsAbstract to ProceedsFromLinesOfCredit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentsAbstract" xlink:title="presentation: DebtInstrumentLineItems to DebtInstrumentsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentLineItems" xlink:title="presentation: DebtInstrumentTable to DebtInstrumentLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="DebtInstrumentTable" xlink:title="presentation: DebtDisclosureAbstract to DebtInstrumentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" xlink:title="CompensationAndRetirementDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanTable" xlink:label="DefinedContributionPlanTable" xlink:title="DefinedContributionPlanTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="RetirementPlanTypeAxis" xlink:title="RetirementPlanTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="RetirementPlanTypeDomain" xlink:title="RetirementPlanTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OneHundredPercentContributionMember" xlink:label="OneHundredPercentContributionMember" xlink:title="OneHundredPercentContributionMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RetirementPlanTypeDomain" xlink:to="OneHundredPercentContributionMember" xlink:title="presentation: RetirementPlanTypeDomain to OneHundredPercentContributionMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_FiftyPercentContributionMember" xlink:label="FiftyPercentContributionMember" xlink:title="FiftyPercentContributionMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RetirementPlanTypeDomain" xlink:to="FiftyPercentContributionMember" xlink:title="presentation: RetirementPlanTypeDomain to FiftyPercentContributionMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RetirementPlanTypeAxis" xlink:to="RetirementPlanTypeDomain" xlink:title="presentation: RetirementPlanTypeAxis to RetirementPlanTypeDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DefinedContributionPlanTable" xlink:to="RetirementPlanTypeAxis" xlink:title="presentation: DefinedContributionPlanTable to RetirementPlanTypeAxis" order="0.0" 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_DefinedBenefitPlanDisclosureLineItems" xlink:label="DefinedBenefitPlanDisclosureLineItems" xlink:title="DefinedBenefitPlanDisclosureLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:label="PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:title="PensionAndOtherPostretirementBenefitExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:to="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="presentation: PensionAndOtherPostretirementBenefitExpenseAbstract to DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" order="0.0" 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_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:to="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="presentation: PensionAndOtherPostretirementBenefitExpenseAbstract to DefinedContributionPlanEmployerMatchingContributionPercent" order="1.0" 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_DefinedContributionPlanCostRecognized" xlink:label="DefinedContributionPlanCostRecognized" xlink:title="DefinedContributionPlanCostRecognized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:to="DefinedContributionPlanCostRecognized" xlink:title="presentation: PensionAndOtherPostretirementBenefitExpenseAbstract to DefinedContributionPlanCostRecognized" order="2.0" 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_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:label="DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:title="DefinedContributionPlanEmployerDiscretionaryContributionAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:to="DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:title="presentation: PensionAndOtherPostretirementBenefitExpenseAbstract to DefinedContributionPlanEmployerDiscretionaryContributionAmount" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DefinedBenefitPlanDisclosureLineItems" xlink:to="PensionAndOtherPostretirementBenefitExpenseAbstract" xlink:title="presentation: DefinedBenefitPlanDisclosureLineItems to PensionAndOtherPostretirementBenefitExpenseAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DefinedContributionPlanTable" xlink:to="DefinedBenefitPlanDisclosureLineItems" xlink:title="presentation: DefinedContributionPlanTable to DefinedBenefitPlanDisclosureLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="DefinedContributionPlanTable" xlink:title="presentation: CompensationAndRetirementDisclosureAbstract to DefinedContributionPlanTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:title="CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="CurrentFederalTaxExpenseBenefit" xlink:title="CurrentFederalTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="CurrentFederalTaxExpenseBenefit" xlink:title="presentation: CurrentFederalStateAndLocalTaxExpenseBenefitAbstract to CurrentFederalTaxExpenseBenefit" order="0.0" 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_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="CurrentStateAndLocalTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="presentation: CurrentFederalStateAndLocalTaxExpenseBenefitAbstract to CurrentStateAndLocalTaxExpenseBenefit" order="1.0" 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_CurrentForeignTaxExpenseBenefit" xlink:label="CurrentForeignTaxExpenseBenefit" xlink:title="CurrentForeignTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="CurrentForeignTaxExpenseBenefit" xlink:title="presentation: CurrentFederalStateAndLocalTaxExpenseBenefitAbstract to CurrentForeignTaxExpenseBenefit" order="2.0" 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_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:label="UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:title="UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:title="presentation: CurrentFederalStateAndLocalTaxExpenseBenefitAbstract to UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" order="3.0" 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_CurrentIncomeTaxExpenseBenefit" xlink:label="CurrentIncomeTaxExpenseBenefit" xlink:title="CurrentIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="CurrentIncomeTaxExpenseBenefit" xlink:title="presentation: CurrentFederalStateAndLocalTaxExpenseBenefitAbstract to CurrentIncomeTaxExpenseBenefit" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:title="presentation: IncomeTaxDisclosureAbstract to CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" order="0.0" 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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:title="DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="DeferredFederalIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="presentation: DeferredFederalStateAndLocalTaxExpenseBenefitAbstract to DeferredFederalIncomeTaxExpenseBenefit" order="0.0" 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_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="presentation: DeferredFederalStateAndLocalTaxExpenseBenefitAbstract to DeferredStateAndLocalIncomeTaxExpenseBenefit" order="1.0" 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_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="DeferredForeignIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="presentation: DeferredFederalStateAndLocalTaxExpenseBenefitAbstract to DeferredForeignIncomeTaxExpenseBenefit" order="2.0" 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_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="DeferredIncomeTaxExpenseBenefit" xlink:title="presentation: DeferredFederalStateAndLocalTaxExpenseBenefitAbstract to DeferredIncomeTaxExpenseBenefit" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:title="presentation: IncomeTaxDisclosureAbstract to DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" order="1.0" 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_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="IncomeTaxExpenseBenefit" xlink:title="presentation: IncomeTaxDisclosureAbstract to IncomeTaxExpenseBenefit" order="2.0" 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_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:title="presentation: IncomeTaxDisclosureAbstract to DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" order="3.0" 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_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsForeign" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="presentation: IncomeTaxDisclosureAbstract to DeferredTaxAssetsOperatingLossCarryforwardsForeign" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="IncomeTaxAuthorityNameAxis" xlink:title="IncomeTaxAuthorityNameAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="IncomeTaxAuthorityNameDomain" xlink:title="IncomeTaxAuthorityNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternalRevenueServiceIRSMember" xlink:label="InternalRevenueServiceIRSMember" xlink:title="InternalRevenueServiceIRSMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxAuthorityNameDomain" xlink:to="InternalRevenueServiceIRSMember" xlink:title="presentation: IncomeTaxAuthorityNameDomain to InternalRevenueServiceIRSMember" order="0.0" 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_TaxAuthoritySpainMember" xlink:label="TaxAuthoritySpainMember" xlink:title="TaxAuthoritySpainMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxAuthorityNameDomain" xlink:to="TaxAuthoritySpainMember" xlink:title="presentation: IncomeTaxAuthorityNameDomain to TaxAuthoritySpainMember" order="1.0" 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_CanadaRevenueAgencyMember" xlink:label="CanadaRevenueAgencyMember" xlink:title="CanadaRevenueAgencyMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxAuthorityNameDomain" xlink:to="CanadaRevenueAgencyMember" xlink:title="presentation: IncomeTaxAuthorityNameDomain to CanadaRevenueAgencyMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxAuthorityNameAxis" xlink:to="IncomeTaxAuthorityNameDomain" xlink:title="presentation: IncomeTaxAuthorityNameAxis to IncomeTaxAuthorityNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="IncomeTaxAuthorityNameAxis" xlink:title="presentation: StatementTable to IncomeTaxAuthorityNameAxis" order="0.0" 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_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:title="presentation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract to IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" order="0.0" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="presentation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract to IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" order="1.0" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="presentation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract to IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementLineItems" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" xlink:title="presentation: StatementLineItems to IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementLineItems" xlink:title="presentation: StatementTable to StatementLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="StatementTable" xlink:title="presentation: IncomeTaxDisclosureAbstract to StatementTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="DeferredTaxAssetsGrossAbstract" xlink:title="DeferredTaxAssetsGrossAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="DeferredTaxAssetsInventory" xlink:title="DeferredTaxAssetsInventory" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsGrossAbstract" xlink:to="DeferredTaxAssetsInventory" xlink:title="presentation: DeferredTaxAssetsGrossAbstract to DeferredTaxAssetsInventory" order="0.0" 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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsGrossAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="presentation: DeferredTaxAssetsGrossAbstract to DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_DeferredTaxAssetsAccountsReceivable" xlink:label="DeferredTaxAssetsAccountsReceivable" xlink:title="DeferredTaxAssetsAccountsReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsGrossAbstract" xlink:to="DeferredTaxAssetsAccountsReceivable" xlink:title="presentation: DeferredTaxAssetsGrossAbstract to DeferredTaxAssetsAccountsReceivable" order="2.0" 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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsGrossAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" xlink:title="presentation: DeferredTaxAssetsGrossAbstract to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances" order="3.0" 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_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:title="DeferredTaxAssetsUnrealizedCurrencyLosses" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsGrossAbstract" xlink:to="DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:title="presentation: DeferredTaxAssetsGrossAbstract to DeferredTaxAssetsUnrealizedCurrencyLosses" order="4.0" 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_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="DeferredTaxAssetsOperatingLossCarryforwards" xlink:title="DeferredTaxAssetsOperatingLossCarryforwards" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsGrossAbstract" xlink:to="DeferredTaxAssetsOperatingLossCarryforwards" xlink:title="presentation: DeferredTaxAssetsGrossAbstract to DeferredTaxAssetsOperatingLossCarryforwards" order="5.0" 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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsGrossAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:title="presentation: DeferredTaxAssetsGrossAbstract to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" order="6.0" 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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsGrossAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:title="presentation: DeferredTaxAssetsGrossAbstract to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" order="7.0" 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_DeferredTaxAssetsGross" xlink:label="DeferredTaxAssetsGross" xlink:title="DeferredTaxAssetsGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsGrossAbstract" xlink:to="DeferredTaxAssetsGross" xlink:title="presentation: DeferredTaxAssetsGrossAbstract to DeferredTaxAssetsGross" order="8.0" 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="DeferredTaxAssetsValuationAllowance" xlink:title="DeferredTaxAssetsValuationAllowance" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsGrossAbstract" xlink:to="DeferredTaxAssetsValuationAllowance" xlink:title="presentation: DeferredTaxAssetsGrossAbstract to DeferredTaxAssetsValuationAllowance" order="9.0" 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="DeferredTaxAssetsNet" xlink:title="DeferredTaxAssetsNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsGrossAbstract" xlink:to="DeferredTaxAssetsNet" xlink:title="presentation: DeferredTaxAssetsGrossAbstract to DeferredTaxAssetsNet" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="DeferredTaxAssetsGrossAbstract" xlink:title="presentation: IncomeTaxDisclosureAbstract to DeferredTaxAssetsGrossAbstract" order="0.0" 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_DeferredTaxLiabilitiesAbstract" xlink:label="DeferredTaxLiabilitiesAbstract" xlink:title="DeferredTaxLiabilitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxLiabilitiesAbstract" xlink:to="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="presentation: DeferredTaxLiabilitiesAbstract to DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="0.0" 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_DeferredIncomeTaxLiabilities" xlink:label="DeferredIncomeTaxLiabilities" xlink:title="DeferredIncomeTaxLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxLiabilitiesAbstract" xlink:to="DeferredIncomeTaxLiabilities" xlink:title="presentation: DeferredTaxLiabilitiesAbstract to DeferredIncomeTaxLiabilities" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="DeferredTaxLiabilitiesAbstract" xlink:title="presentation: IncomeTaxDisclosureAbstract to DeferredTaxLiabilitiesAbstract" order="1.0" 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_DeferredTaxAssetsLiabilitiesNet" xlink:label="DeferredTaxAssetsLiabilitiesNet" xlink:title="DeferredTaxAssetsLiabilitiesNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="DeferredTaxAssetsLiabilitiesNet" xlink:title="presentation: IncomeTaxDisclosureAbstract to DeferredTaxAssetsLiabilitiesNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0.0" 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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:label="EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:title="EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" order="2.0" 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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:label="EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:title="EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent" order="4.0" 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_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:title="EffectiveIncomeTaxRateReconciliationTaxCredits" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateReconciliationTaxCredits" order="5.0" 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_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="6.0" 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_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateContinuingOperations" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateContinuingOperations" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxesReconciliationOfUncertainTaxPositionsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:title="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="UnrecognizedTaxBenefits" xlink:title="UnrecognizedTaxBenefits" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefits" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefits" order="0.0" 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_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:label="UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:title="UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions" order="1.0" 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_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:title="UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" xlink:label="UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" xlink:title="UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense" order="3.0" 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_UnrecognizedTaxBenefits" xlink:label="UnrecognizedTaxBenefits_2" xlink:title="UnrecognizedTaxBenefits" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefits_2" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefits" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:title="presentation: IncomeTaxDisclosureAbstract to ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="RisksAndUncertaintiesAbstract" xlink:title="RisksAndUncertaintiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="ConcentrationRiskTable" xlink:title="ConcentrationRiskTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="SalesRevenueNetMember" xlink:title="presentation: ConcentrationRiskBenchmarkDomain to SalesRevenueNetMember" order="0.0" 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_AccountsReceivableMember" xlink:label="AccountsReceivableMember" xlink:title="AccountsReceivableMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="AccountsReceivableMember" xlink:title="presentation: ConcentrationRiskBenchmarkDomain to AccountsReceivableMember" order="1.0" 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_AccountsPayableMember" xlink:label="AccountsPayableMember" xlink:title="AccountsPayableMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="AccountsPayableMember" xlink:title="presentation: ConcentrationRiskBenchmarkDomain to AccountsPayableMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain" xlink:title="presentation: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskByBenchmarkAxis" xlink:title="presentation: ConcentrationRiskTable to ConcentrationRiskByBenchmarkAxis" order="0.0" 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_ConcentrationRiskByTypeAxis" xlink:label="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="CustomerConcentrationRiskMember" xlink:title="CustomerConcentrationRiskMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTypeDomain" xlink:to="CustomerConcentrationRiskMember" xlink:title="presentation: ConcentrationRiskTypeDomain to CustomerConcentrationRiskMember" order="0.0" 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_SupplierConcentrationRiskMember" xlink:label="SupplierConcentrationRiskMember" xlink:title="SupplierConcentrationRiskMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTypeDomain" xlink:to="SupplierConcentrationRiskMember" xlink:title="presentation: ConcentrationRiskTypeDomain to SupplierConcentrationRiskMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain" xlink:title="presentation: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskByTypeAxis" xlink:title="presentation: ConcentrationRiskTable to ConcentrationRiskByTypeAxis" order="1.0" 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="MajorCustomersAxis" xlink:title="MajorCustomersAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="NameOfMajorCustomerDomain" xlink:title="NameOfMajorCustomerDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_FiveMajorCustomersMember" xlink:label="FiveMajorCustomersMember" xlink:title="FiveMajorCustomersMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NameOfMajorCustomerDomain" xlink:to="FiveMajorCustomersMember" xlink:title="presentation: NameOfMajorCustomerDomain to FiveMajorCustomersMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_TwoMajorCustomersMember" xlink:label="TwoMajorCustomersMember" xlink:title="TwoMajorCustomersMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NameOfMajorCustomerDomain" xlink:to="TwoMajorCustomersMember" xlink:title="presentation: NameOfMajorCustomerDomain to TwoMajorCustomersMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MajorCustomersAxis" xlink:to="NameOfMajorCustomerDomain" xlink:title="presentation: MajorCustomersAxis to NameOfMajorCustomerDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTable" xlink:to="MajorCustomersAxis" xlink:title="presentation: ConcentrationRiskTable to MajorCustomersAxis" order="2.0" 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_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:label="ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:title="ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:title="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_TenMajorSuppliersMember" xlink:label="TenMajorSuppliersMember" xlink:title="TenMajorSuppliersMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="TenMajorSuppliersMember" xlink:title="presentation: ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain to TenMajorSuppliersMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_OneMajorSupplierMember" xlink:label="OneMajorSupplierMember" xlink:title="OneMajorSupplierMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="OneMajorSupplierMember" xlink:title="presentation: ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain to OneMajorSupplierMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:to="ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:title="presentation: ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis to ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTable" xlink:to="ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:title="presentation: ConcentrationRiskTable to ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" order="3.0" 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="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="presentation: SegmentGeographicalDomain to US" order="0.0" 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="NonUsMember" xlink:title="NonUsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="NonUsMember" xlink:title="presentation: SegmentGeographicalDomain to NonUsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="presentation: StatementGeographicalAxis to SegmentGeographicalDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTable" xlink:to="StatementGeographicalAxis" xlink:title="presentation: ConcentrationRiskTable to StatementGeographicalAxis" order="4.0" 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_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTable" xlink:to="RangeAxis" xlink:title="presentation: ConcentrationRiskTable to RangeAxis" order="5.0" 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_ConcentrationRiskLineItems" xlink:label="ConcentrationRiskLineItems" xlink:title="ConcentrationRiskLineItems" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ConcentrationRiskAbstract" xlink:label="ConcentrationRiskAbstract" xlink:title="ConcentrationRiskAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NumberOfMajorCustomers" xlink:label="NumberOfMajorCustomers" xlink:title="NumberOfMajorCustomers" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskAbstract" xlink:to="NumberOfMajorCustomers" xlink:title="presentation: ConcentrationRiskAbstract to NumberOfMajorCustomers" order="0.0" 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_ConcentrationRiskPercentage1" xlink:label="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskAbstract" xlink:to="ConcentrationRiskPercentage1" xlink:title="presentation: ConcentrationRiskAbstract to ConcentrationRiskPercentage1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NumberOfSuppliers" xlink:label="NumberOfSuppliers" xlink:title="NumberOfSuppliers" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskAbstract" xlink:to="NumberOfSuppliers" xlink:title="presentation: ConcentrationRiskAbstract to NumberOfSuppliers" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_NumberOfMajorSuppliers" xlink:label="NumberOfMajorSuppliers" xlink:title="NumberOfMajorSuppliers" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskAbstract" xlink:to="NumberOfMajorSuppliers" xlink:title="presentation: ConcentrationRiskAbstract to NumberOfMajorSuppliers" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskLineItems" xlink:to="ConcentrationRiskAbstract" xlink:title="presentation: ConcentrationRiskLineItems to ConcentrationRiskAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskLineItems" xlink:title="presentation: ConcentrationRiskTable to ConcentrationRiskLineItems" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RisksAndUncertaintiesAbstract" xlink:to="ConcentrationRiskTable" xlink:title="presentation: RisksAndUncertaintiesAbstract to ConcentrationRiskTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="EquityAbstract" xlink:title="EquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="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="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" xlink:label="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:title="TwoThousandAndThirteenRestrictedStockPlanMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameDomain" xlink:to="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:title="presentation: PlanNameDomain to TwoThousandAndThirteenRestrictedStockPlanMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:label="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:title="TwoThousandAndTwentyThreeRestrictedStockPlanMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameDomain" xlink:to="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:title="presentation: PlanNameDomain to TwoThousandAndTwentyThreeRestrictedStockPlanMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="presentation: PlanNameAxis to PlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="0.0" 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="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:label="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="ServicedBasedRestrictedStockUnitsRSUsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="presentation: RestrictedStockUnitsRSUMember to ServicedBasedRestrictedStockUnitsRSUsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:label="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="PerformanceBasedRestrictedStockUnitsRSUsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="presentation: RestrictedStockUnitsRSUMember to PerformanceBasedRestrictedStockUnitsRSUsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="1.0" 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_TitleOfIndividualAxis" xlink:label="TitleOfIndividualAxis" xlink:title="TitleOfIndividualAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember" xlink:label="DirectorMember" xlink:title="DirectorMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="DirectorMember" xlink:title="presentation: TitleOfIndividualWithRelationshipToEntityDomain to DirectorMember" order="0.0" 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_ChiefExecutiveOfficerMember" xlink:label="ChiefExecutiveOfficerMember" xlink:title="ChiefExecutiveOfficerMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="ChiefExecutiveOfficerMember" xlink:title="presentation: TitleOfIndividualWithRelationshipToEntityDomain to ChiefExecutiveOfficerMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualAxis" xlink:to="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="presentation: TitleOfIndividualAxis to TitleOfIndividualWithRelationshipToEntityDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="TitleOfIndividualAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to TitleOfIndividualAxis" order="2.0" 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_VestingAxis" xlink:label="VestingAxis" xlink:title="VestingAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="VestingDomain" xlink:title="VestingDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="ShareBasedCompensationAwardTrancheOneMember" xlink:title="ShareBasedCompensationAwardTrancheOneMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VestingDomain" xlink:to="ShareBasedCompensationAwardTrancheOneMember" xlink:title="presentation: VestingDomain to ShareBasedCompensationAwardTrancheOneMember" order="0.0" 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_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="ShareBasedCompensationAwardTrancheTwoMember" xlink:title="ShareBasedCompensationAwardTrancheTwoMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VestingDomain" xlink:to="ShareBasedCompensationAwardTrancheTwoMember" xlink:title="presentation: VestingDomain to ShareBasedCompensationAwardTrancheTwoMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VestingAxis" xlink:to="VestingDomain" xlink:title="presentation: VestingAxis to VestingDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="VestingAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to VestingAxis" order="3.0" 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_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" 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_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="RangeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to RangeAxis" order="4.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="StockholdersEquityNoteAbstract" xlink:title="StockholdersEquityNoteAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="CommonStockCapitalSharesReservedForFutureIssuance" xlink:title="CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityNoteAbstract" xlink:to="CommonStockCapitalSharesReservedForFutureIssuance" xlink:title="presentation: StockholdersEquityNoteAbstract to CommonStockCapitalSharesReservedForFutureIssuance" order="0.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityNoteAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="presentation: StockholdersEquityNoteAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="1.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityNoteAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="presentation: StockholdersEquityNoteAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityNoteAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" xlink:title="presentation: StockholdersEquityNoteAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome" order="3.0" 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_AllocatedShareBasedCompensationExpense" xlink:label="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityNoteAbstract" xlink:to="AllocatedShareBasedCompensationExpense" xlink:title="presentation: StockholdersEquityNoteAbstract to AllocatedShareBasedCompensationExpense" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="StockholdersEquityNoteAbstract" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to StockholdersEquityNoteAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="presentation: EquityAbstract to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="EquityAbstract" xlink:title="EquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="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="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_RestrictedStockAndRestrictedStockUnitsMember" xlink:label="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="RestrictedStockAndRestrictedStockUnitsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockAndRestrictedStockUnitsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="0.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" order="0.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" order="1.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" order="2.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" order="3.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" order="0.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="0.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="1.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" order="2.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" order="3.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="presentation: EquityAbstract to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="EquityAbstract" xlink:title="EquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="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="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:label="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="ServicedBasedRestrictedStockUnitsRSUsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to ServicedBasedRestrictedStockUnitsRSUsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:label="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="PerformanceBasedRestrictedStockUnitsRSUsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to PerformanceBasedRestrictedStockUnitsRSUsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_RestrictedStockAndRestrictedStockUnitsMember" xlink:label="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="RestrictedStockAndRestrictedStockUnitsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockAndRestrictedStockUnitsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="0.0" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="ShareBasedCompensationAbstract" xlink:title="ShareBasedCompensationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="AllocatedShareBasedCompensationExpense" xlink:title="presentation: ShareBasedCompensationAbstract to AllocatedShareBasedCompensationExpense" order="0.0" 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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" order="5.0" 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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" order="6.0" 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_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="presentation: ShareBasedCompensationAbstract to StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationAbstract" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="presentation: EquityAbstract to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="EquityAbstract" xlink:title="EquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="ClassOfTreasuryStockTable" xlink:title="ClassOfTreasuryStockTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ClassOfTreasuryStockTable" xlink:to="RangeAxis" xlink:title="presentation: ClassOfTreasuryStockTable to RangeAxis" order="0.0" 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_ShareRepurchaseProgramAxis" xlink:label="ShareRepurchaseProgramAxis" xlink:title="ShareRepurchaseProgramAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="ShareRepurchaseProgramDomain" xlink:title="ShareRepurchaseProgramDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_ShareRepurchaseProgramMember" xlink:label="ShareRepurchaseProgramMember" xlink:title="ShareRepurchaseProgramMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareRepurchaseProgramDomain" xlink:to="ShareRepurchaseProgramMember" xlink:title="presentation: ShareRepurchaseProgramDomain to ShareRepurchaseProgramMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareRepurchaseProgramAxis" xlink:to="ShareRepurchaseProgramDomain" xlink:title="presentation: ShareRepurchaseProgramAxis to ShareRepurchaseProgramDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ClassOfTreasuryStockTable" xlink:to="ShareRepurchaseProgramAxis" xlink:title="presentation: ClassOfTreasuryStockTable to ShareRepurchaseProgramAxis" order="1.0" 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_EquityClassOfTreasuryStockLineItems" xlink:label="EquityClassOfTreasuryStockLineItems" xlink:title="EquityClassOfTreasuryStockLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="StockholdersEquityNoteAbstract" xlink:title="StockholdersEquityNoteAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="StockRepurchaseProgramAuthorizedAmount1" xlink:title="StockRepurchaseProgramAuthorizedAmount1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityNoteAbstract" xlink:to="StockRepurchaseProgramAuthorizedAmount1" xlink:title="presentation: StockholdersEquityNoteAbstract to StockRepurchaseProgramAuthorizedAmount1" order="0.0" 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_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:title="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityNoteAbstract" xlink:to="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:title="presentation: StockholdersEquityNoteAbstract to StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" order="1.0" 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_StockRepurchasedAndRetiredDuringPeriodShares" xlink:label="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="StockRepurchasedAndRetiredDuringPeriodShares" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityNoteAbstract" xlink:to="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="presentation: StockholdersEquityNoteAbstract to StockRepurchasedAndRetiredDuringPeriodShares" order="2.0" 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_CommonStockParOrStatedValuePerShare" xlink:label="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityNoteAbstract" xlink:to="CommonStockParOrStatedValuePerShare" xlink:title="presentation: StockholdersEquityNoteAbstract to CommonStockParOrStatedValuePerShare" order="3.0" 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_SharePrice" xlink:label="SharePrice" xlink:title="SharePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityNoteAbstract" xlink:to="SharePrice" xlink:title="presentation: StockholdersEquityNoteAbstract to SharePrice" order="4.0" 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_StockRepurchasedAndRetiredDuringPeriodValue" xlink:label="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="StockRepurchasedAndRetiredDuringPeriodValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityNoteAbstract" xlink:to="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="presentation: StockholdersEquityNoteAbstract to StockRepurchasedAndRetiredDuringPeriodValue" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20231231.xsd#tlfa_PercentageOfCommonStockOutstanding" xlink:label="PercentageOfCommonStockOutstanding" xlink:title="PercentageOfCommonStockOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityNoteAbstract" xlink:to="PercentageOfCommonStockOutstanding" xlink:title="presentation: StockholdersEquityNoteAbstract to PercentageOfCommonStockOutstanding" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="StockholdersEquityNoteAbstract" xlink:title="presentation: EquityClassOfTreasuryStockLineItems to StockholdersEquityNoteAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ClassOfTreasuryStockTable" xlink:to="EquityClassOfTreasuryStockLineItems" xlink:title="presentation: ClassOfTreasuryStockTable to EquityClassOfTreasuryStockLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="ClassOfTreasuryStockTable" xlink:title="presentation: EquityAbstract to ClassOfTreasuryStockTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>11
<FILENAME>image00001.jpg
<TEXT>
begin 644 image00001.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  8$!08%! 8&!08'!P8("A *"@D)
M"A0.#PP0%Q08&!<4%A8:'24?&ALC'!86("P@(R8G*2HI&1\M,"TH,"4H*2C_
MVP!# 0<'!PH("A,*"A,H&A8:*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H
M*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"C_P  1" !O CP# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
MM71USGQ(_P"2=^*?^P5=?^B6KHZ "BBB@ HHHH **** "BBB@ HHHH ****
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
MM145I=07D"SVD\4\+?=DB<,I^A'%,OKVUL(A+?7,%M$6VAYI @)],GOP?RH
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
MD^W[R.OK.OE_]DJT#^*=<O,<PV2PYYXWN#_[3KZ@I/<$%%%%(84444 %%%%
M'.?$C_DG?BG_ +!5U_Z):NCKG/B1_P D[\4_]@JZ_P#1+5T= !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %4;K5K*U
MU:QTV>;9>WRR/;Q[&.\1@%^0,#&X=2.O%7JX?Q1_R5;P-_U[ZE_Z!#0!W%<=
MJ'Q+\*V&H75C<ZA.+FUD,,RQV-Q($<=1N6,C\C78UY+X2OO$UMK'C--!T:PO
M[4Z].6DN+XP,'\N+(V[&R,8YSW]J /2=!UFQU_3EOM+E>6V9BH9X7B.0<'Y7
M /Z5!KGB;1]"OM-L]6OH[:YU*7R;5&5CYC9 QP#CEAR<#FK6B3:A/IL<FLVD
M-G>DG?##-YJKSQAL#/&.U>):W?\ AGQIK/C"XUG7]-LI(8_[+TCS[A4:%HSO
M:<#/>7&",':N,T >VZWJMGHFES:AJ4CQVD.W>R1/(1E@H^506/)'05R2_%KP
M8TKQKJ=R9$ +(-.NLKGID>76I\-/$J^+/!>FZH2IN&3R[D*>%E7A_P "1D>Q
M%9'AK_DL7C3_ *\[#_T&2@#K+S6]/LY=,BN;C8^I2>5:CRV/F-M+8X'' )YQ
M3]:U>QT6T2YU.?R('E2!6V,V7=@JC !/)(KA_BU)>0ZUX(DTRWBN;Q=48Q0R
MR^6KGR7X+8./RK$^)=_XJN-%L(]:T/3K.S.J69::#4#,P/G+@;?+'\Z /2/$
M_BC2/"\-O+K=T]NEQ(8HMD$DI=@,XPBD] :S]$^('AS6]4AT_3;RYDNYMVQ7
ML;B,'"EC\S(%' /4UC_%&6^AU_P3)I5M%=7JZA+Y<,LOE*W^CR9RV#CC)Z5O
M:#?^*;B_V:WHFGV5IM)\V"_,S;NPV[%X]\T -\1^.O#WAS4TT[5[V6*\>$7
MBCM)ICY98J&RB$=5(_"K?AKQ7HGB83_V)?QW+P8\V,JT<D>>FY& 8?E7%>(-
M;?0_C-+,FD:KJGF:!$ICTZ%9&3_2)3DAF7BCP3J)\:^/!XKT[3)].TNULI-/
M>2Y*+-<2^8IV,BDE0FT]3GYJ8'J%?(W[4-X+GXFB$-G[+911$9Z$EG_DXKZY
MKX>^--Z-0^*?B293D+=&#/\ US41_P#LM"$SV+]D>PV:/XAU ]9IXH![;%+'
M_P!&"O?Z\K_9IT\67PLM)MI5KVXFN#GO\VP'\D%>J4/<:"BBBD 4444 %%%%
M '.?$C_DG?BG_L%77_HEJZ.N<^)'_)._%/\ V"KK_P!$M71T %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5S'B[PI)
MKVJ:3J-IJ]WI5YIRS+%+;HCY$H4-D."/X!^==/10!SWAW0]4TR]>;4/$M_JT
M31E!!<0PHJMD'=E%!SP1Z<UC_P#""W]OJ6J7.D^*]3TZ/4+IKR6"*"%U$C
MD%D)Z*._:NYHH P].T:_MM#O+&[UZ\O;F?>$O98XUDA#* -H50.#DC(ZFJV@
M>"/#^BZ+9Z=#I=E,MM&(_-FMT9Y#W9CCJ3D_C72T4 8'ASPQ:>']3U>YTUVB
MMM1D29K-558HI NUF0 <;L#(]JET_P /PV7BG5M<2:1IM1BAB>,@;4$8(!'?
MG<:VJ* ,77M AUC4M%O)9I(WTNY-S&J@8<E"N#[8-'BS0(?$FFQ6=Q-)"D=S
M%<AD ))C<,!SV)%;5% '.>,/#+>(7TR:#4[G3;K3YFGAG@1&8$H4/# CHQ[5
M#H_AS6;+4H;B[\7:G?P(26MIK>!5DX(Y*H#[\'M74T4 8ZZ%$OB^3Q )I//>
MQ6P,6!MVK(S[O7.6(JO9^&(+#Q5=:UI]Q+;"]3%Y:*!Y4[CI+CL_8D=1U]:Z
M"B@ K\_?%5P;OQ/K%PW#37DTA_%R:_0*O&->^ FDZEXS&LV]^]O8RW'VBZL#
M%O#G=E@K9&T'TP<9..P#3$ST;X>:8VC^!=!L)%"RPV42R =-Y4%OU)KH:**0
MPHHHH **** "BBB@#G/B1_R3OQ3_ -@JZ_\ 1+5T=8OC:RN-3\&:_864?FW5
MUI]Q!"FX+N=HV"C)X&21UK:H **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
+ **** "BBB@#_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>12
<FILENAME>image00002.jpg
<TEXT>
begin 644 image00002.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  8$!08%! 8&!08'!P8("A *"@D)
M"A0.#PP0%Q08&!<4%A8:'24?&ALC'!86("P@(R8G*2HI&1\M,"TH,"4H*2C_
MVP!# 0<'!PH("A,*"A,H&A8:*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H
M*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"C_P  1" !2 .T# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#ZIHHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HJEJ6JV6F;/MTWDA_ND
MJ2#^(%4?^$KT3_G_ $_[X;_"H=2$79M$.I"+LVC;HK'A\3Z/-*D<=]&7<[0"
MK#GZD5L4XSC+X7<<9QE\+N%%%%44%%%% !1110 4444 %%%% !1110 4444
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
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
;%%%% !1110 4444 %%%% !1110 4444 ?__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>13
<FILENAME>image00003.jpg
<TEXT>
begin 644 image00003.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  8$!08%! 8&!08'!P8("A *"@D)
M"A0.#PP0%Q08&!<4%A8:'24?&ALC'!86("P@(R8G*2HI&1\M,"TH,"4H*2C_
MVP!# 0<'!PH("A,*"A,H&A8:*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H
M*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"C_P  1"  R 3T# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#ZIHHHH **
M*\YU+6]8\1^/H=&\+7/V;2])<2:M>[-RO)QBW7U.#EO3CTH ]&HHHH ****
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
M1XDNHB@D0X9&ZJP]P0#^%>1^*/@A?>)M +Z_XCEU3Q.'3RKNXC_<11A@2BQ
MXY Y/4_C7N=% '$^'/A_::/X5U33S<23ZGJT#I?ZBPS)*[(5R!T55S\JC@"N
M7O?@9H,_@G3-&22:*^L+"6U6ZA<QB=G^8F0 _,OF8;:37KU% 'D<'P^U;Q3H
MZV'C1;2PT>VM?LUIHVFR-Y 8+@2R'@L1P57H,9Y->A>"8[N#PCH\&I0^1>P6
ML<,Z @@.BA21[$C(]C6U10!5U6S.H:;<6BW-Q:F9"@GMWV21^ZGL:XB3X9B7
M'F^,/&#=SC577/Y8KT&B@#RZ\^"/A2\L]1%['=ZAJ-W;M M_J%P]Q+%D8#*6
M/!!YXKBFTOQ\/$%E:^)M!@UE-(MXAHWV1@EB)Q\OGSJ6!+* , # YQCK7T-1
MB@#YZ^%OB!-*NM63^R;O6/B1J%],-1(@,20A9"J!Y",)'M56 &>O>M.\^'OQ
M 3QU;^*(-9TF]U*:VDMF>[B8QZ:&8$&W3OA<KR><DGK7MR01)(SI&BN_WF"X
M)^M24 >!WWPJ\:Z;XMEU7P]XAANKS5+'[)?:KJ(+3VQW99H%'"@@  =L5F+X
M.UKPKXHN[35];\0W6@?9DM[66SM!-<2P ES 9A\T?S$@X R-OS<8'T?1B@#P
M;6OAYKGQ*T&&QG6+PGX9M,/IVF)"KR&120))ATP06^4'^+GFNOT7X712W5G?
M>-M3G\17MJH$$,J"*T@(7'R0+\O3USVKTJB@#RF/P%XOT&4V'@GQ9%IWAW<6
MAM+FR2=K4,265&/5<G@'I7H6DVUQI6DL-3U6:_E0%WNKE8X\#'/"*H &/3\:
MU*AO+:&]M)K6[C66WF1HY(W&0ZD8(/L10!PWA2"?X@?#'1[KQ/F&^G/VN.>S
M8Q-$P=O*D0]5)3!^C$=#6WX8\':?H%KJ<2RW5])J<ADNY[V4RR3?*$P2>P48
M KH;>&.W@CA@18XHU"(BC 4#@ 4^@#GSX/T5_!\7A>6T\S18XDA6!Y&/RJ05
M&[.>"!WJCXK\"6/B"^COXK[4M)U%8A;FZTZ?RG>('(1N"& ))&1QD^M==10!
MPG@[X6>&_"-]8WNBQ3Q7EO%)%)-YIS=!SDF7LQSR#VXKL8=.LX;^YOH;:%+R
MY55FF5 'D"YVACU.,G%6J* ,?0_#>F:)J&K7NFV_DSZI.+FZ(8D/)C&<=![X
MJ6UT'3K77K[6H+8)J5[&D4\P)RZI]T8Z<?X>E:=% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
< !1110 4444 %%%% !1110 4444 %%%% '__V0$!

end
</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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387565104">
<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>Mar. 22, 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>Cover [Abstract]</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_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="ro">
<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="re">
<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="ro">
<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="re">
<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="ro">
<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="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">1-12368<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">TANDY LEATHER FACTORY, 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_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000909724<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_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="ro">
<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">75-2543540<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_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">1900 Southeast Loop 820<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_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Fort Worth<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_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">TX<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_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">76140<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_CityAreaCode', window );">City Area Code</a></td>
<td class="text">817<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_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">872-3200<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_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $0.0024<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_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">TLF<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_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="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_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_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="ro">
<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="re">
<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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation 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_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_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,217,065<span></span>
</td>
</tr>
<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">8,399,245<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">410<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">WEAVER AND TIDWELL, L.L.P<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_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Oklahoma City, Oklahoma<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_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IcfrAuditorAttestationFlag</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_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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387881888">
<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">$ 12,159<span></span>
</td>
<td class="nump">$ 7,975<span></span>
</td>
</tr>
<tr class="re">
<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-trade, net of allowance for doubtful accounts of $31 and $56 at December 31, 2023 and December 31, 2022, respectively</a></td>
<td class="nump">264<span></span>
</td>
<td class="nump">370<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory</a></td>
<td class="nump">37,993<span></span>
</td>
<td class="nump">38,227<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesReceivable', window );">Income tax receivable</a></td>
<td class="nump">248<span></span>
</td>
<td class="nump">302<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrent', window );">Prepaid expenses</a></td>
<td class="nump">475<span></span>
</td>
<td class="nump">272<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">113<span></span>
</td>
<td class="nump">106<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">51,252<span></span>
</td>
<td class="nump">47,252<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, at cost</a></td>
<td class="nump">28,678<span></span>
</td>
<td class="nump">28,124<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less accumulated depreciation</a></td>
<td class="num">(18,131)<span></span>
</td>
<td class="num">(16,962)<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_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">10,547<span></span>
</td>
<td class="nump">11,162<span></span>
</td>
</tr>
<tr class="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 );">Operating lease assets</a></td>
<td class="nump">8,995<span></span>
</td>
<td class="nump">9,742<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Financing lease assets</a></td>
<td class="nump">23<span></span>
</td>
<td class="nump">31<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">880<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="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">438<span></span>
</td>
<td class="nump">392<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_Assets', window );">TOTAL ASSETS</a></td>
<td class="nump">72,135<span></span>
</td>
<td class="nump">68,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_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableTradeCurrent', window );">Accounts payable-trade</a></td>
<td class="nump">2,333<span></span>
</td>
<td class="nump">3,082<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesAndOtherLiabilities', window );">Accrued expenses and other liabilities</a></td>
<td class="nump">3,140<span></span>
</td>
<td class="nump">2,681<span></span>
</td>
</tr>
<tr class="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 taxes payable</a></td>
<td class="nump">288<span></span>
</td>
<td class="nump">211<span></span>
</td>
</tr>
<tr class="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 of operating lease liabilities</a></td>
<td class="nump">3,172<span></span>
</td>
<td class="nump">2,881<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Current portion of finance lease liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">15<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">8,933<span></span>
</td>
<td class="nump">8,870<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">9<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Uncertain tax positions</a></td>
<td class="nump">388<span></span>
</td>
<td class="nump">450<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other non-current liabilities</a></td>
<td class="nump">205<span></span>
</td>
<td class="nump">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_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, non-current</a></td>
<td class="nump">6,253<span></span>
</td>
<td class="nump">7,469<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Finance lease liabilities, non-current</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="re">
<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 (Note 8)</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_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_CommonStockValue', window );">Common stock, $0.0024 par value; 25,000,000 shares authorized; 9,823,621 and 9,717,525 shares issued at December 31, 2023 and December 31, 2022, respectively; 8,399,245 and 8,293,150 shares outstanding at December 31, 2023 and December 31, 2022, respectively</a></td>
<td class="nump">23<span></span>
</td>
<td class="nump">23<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Paid-in capital</a></td>
<td class="nump">3,981<span></span>
</td>
<td class="nump">3,222<span></span>
</td>
</tr>
<tr class="re">
<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 );">Retained earnings</a></td>
<td class="nump">63,659<span></span>
</td>
<td class="nump">59,891<span></span>
</td>
</tr>
<tr class="ro">
<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 at cost (1,424,376 shares at December 31, 2023 and December 31, 2022)</a></td>
<td class="num">(9,773)<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
</tr>
<tr class="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, net of tax</a></td>
<td class="num">(1,544)<span></span>
</td>
<td class="num">(1,900)<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">56,346<span></span>
</td>
<td class="nump">51,463<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 AND STOCKHOLDERS' EQUITY</a></td>
<td class="nump">$ 72,135<span></span>
</td>
<td class="nump">$ 68,579<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_AccountsPayableTradeCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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://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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-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_AccountsPayableTradeCurrent</td>
</tr>
<tr>
<td style="padding-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_AccruedLiabilitiesAndOtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 incurred but not yet paid nor invoiced, and liabilities classified as 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;">us-gaap_AccruedLiabilitiesAndOtherLiabilities</td>
</tr>
<tr>
<td style="padding-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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, depletion and amortization for physical assets used in the normal conduct of business to produce goods and 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 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<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 360<br> -SubTopic 10<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization, of 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/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_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-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_IncomeTaxesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes.</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(3)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: 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.10)<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_IncomeTaxesReceivable</td>
</tr>
<tr>
<td style="padding-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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or 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://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 (b)<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<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_InventoryNet</td>
</tr>
<tr>
<td style="padding-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_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_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recognized for uncertainty in income taxes 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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-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>
<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_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-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_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 classified as other, due after 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://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.24)<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_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-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_PrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 within a future period of 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/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 2: 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(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483032/340-10-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_PrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</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)(8))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-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_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_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_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>
</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.1</span><table class="report" border="0" cellspacing="2" id="idm140418390089280">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parentheticals) - 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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for doubtful accounts</a></td>
<td class="nump">$ 31<span></span>
</td>
<td class="nump">$ 56<span></span>
</td>
</tr>
<tr class="re">
<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="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.0024<span></span>
</td>
<td class="nump">$ 0.0024<span></span>
</td>
</tr>
<tr class="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 (in shares)</a></td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,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 (in shares)</a></td>
<td class="nump">9,823,621<span></span>
</td>
<td class="nump">9,717,525<span></span>
</td>
</tr>
<tr class="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 (in shares)</a></td>
<td class="nump">8,399,245<span></span>
</td>
<td class="nump">8,293,150<span></span>
</td>
</tr>
<tr class="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 (in shares)</a></td>
<td class="nump">1,424,376<span></span>
</td>
<td class="nump">1,424,376<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_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_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_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_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.1</span><table class="report" border="0" cellspacing="2" id="idm140418477758864">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations and Comprehensive Income - 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>Condensed Consolidated Statements of Operations and Comprehensive Income [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 76,229<span></span>
</td>
<td class="nump">$ 80,335<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">31,066<span></span>
</td>
<td class="nump">33,838<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_GrossProfit', window );">Gross profit</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">45,163<span></span>
</td>
<td class="nump">46,497<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingCostsAndExpenses', window );">Operating expenses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">40,753<span></span>
</td>
<td class="nump">45,109<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_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,410<span></span>
</td>
<td class="nump">1,388<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLossAbstract', window );"><strong>Other income:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_InterestIncomeExpenseNet', window );">Interest income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(93)<span></span>
</td>
<td class="num">(9)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(42)<span></span>
</td>
<td class="num">(11)<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_NonoperatingIncomeExpense', window );">Total other income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(135)<span></span>
</td>
<td class="num">(20)<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,545<span></span>
</td>
<td class="nump">1,408<span></span>
</td>
</tr>
<tr class="ro">
<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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">777<span></span>
</td>
<td class="nump">181<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_NetIncomeLoss', window );">Net Income</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">3,768<span></span>
</td>
<td class="nump">1,227<span></span>
</td>
</tr>
<tr class="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 gain (loss), net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">356<span></span>
</td>
<td class="num">(527)<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 );">Comprehensive income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 4,124<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
</tr>
<tr class="ro">
<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>Net income per common share:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.45<span></span>
</td>
<td class="nump">$ 0.15<span></span>
</td>
</tr>
<tr class="ro">
<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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.45<span></span>
</td>
<td class="nump">$ 0.15<span></span>
</td>
</tr>
<tr class="re">
<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 number of shares outstanding:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">8,339,658<span></span>
</td>
<td class="nump">8,363,390<span></span>
</td>
</tr>
<tr class="re">
<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="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">8,369,976<span></span>
</td>
<td class="nump">8,394,567<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">For the years ended December 31, 2023 and 2022, there were 65,075 and 90,748 shares,
          respectively, excluded from the diluted EPS calculation because the impact of their assumed vesting would be anti-dilutive.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<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_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</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 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<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.2(a),(d))<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_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-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_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</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 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 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 (b)<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 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: 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 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: 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,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_GrossProfit</td>
</tr>
<tr>
<td style="padding-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_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_InterestIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating interest income (expense).</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 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.10)<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_InterestIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-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_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</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.7)<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_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-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_OperatingCostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Excludes Selling, General and Administrative 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_OperatingCostsAndExpenses</td>
</tr>
<tr>
<td style="padding-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_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 result for the period of deducting operating expenses from operating revenues.</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 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<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 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: 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 5: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-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_OperatingIncomeLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OperatingIncomeLossAbstract</td>
</tr>
<tr>
<td style="padding-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_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_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (expense) related to nonoperating activities, 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.9)<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_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</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 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<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 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<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 (a)<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 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<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 (b)<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 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 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> -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 9: 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 10: 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 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<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/2147479806/606-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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-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_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.1</span><table class="report" border="0" cellspacing="2" id="idm140418389422352">
<tr>
<th class="tl" colspan="2" 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="th" style="border-bottom: 0px;"><sup></sup></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</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 3,768<span></span>
</td>
<td class="nump">$ 1,227<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_CostOfGoodsAndServicesSoldDepreciation', window );">Depreciation and amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,199<span></span>
</td>
<td class="nump">1,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_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Operating lease asset amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,427<span></span>
</td>
<td class="nump">3,230<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets1', window );">Loss on disposal of assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">9<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">770<span></span>
</td>
<td class="nump">1,060<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(902)<span></span>
</td>
<td class="num">(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_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable-trade</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">107<span></span>
</td>
<td class="nump">244<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventory</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">231<span></span>
</td>
<td class="num">(328)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidExpense', window );">Prepaid expenses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(202)<span></span>
</td>
<td class="nump">210<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherCurrentAssets', window );">Other current assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(12)<span></span>
</td>
<td class="nump">34<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable-trade</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(752)<span></span>
</td>
<td class="num">(1,739)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses and other liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">462<span></span>
</td>
<td class="num">(1,527)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Income taxes, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">84<span></span>
</td>
<td class="nump">905<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(45)<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_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(3,598)<span></span>
</td>
<td class="num">(3,362)<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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities', window );">Total adjustments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">769<span></span>
</td>
<td class="num">(73)<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_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,537<span></span>
</td>
<td class="nump">1,154<span></span>
</td>
</tr>
<tr class="re">
<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="th" style="border-bottom: 0px;"><sup></sup></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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchase of property and equipment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(576)<span></span>
</td>
<td class="num">(635)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfProductiveAssets', window );">Proceeds from sales of assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">10<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_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(576)<span></span>
</td>
<td class="num">(625)<span></span>
</td>
</tr>
<tr class="re">
<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="th" style="border-bottom: 0px;"><sup></sup></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_RepaymentsOfLongTermDebt', window );">Payments on long-term debt</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="num">(359)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeasePrincipalPayments', window );">Payment of finance lease obligations</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(15)<span></span>
</td>
<td class="num">(14)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(11)<span></span>
</td>
<td class="num">(1,798)<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 used in financing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(26)<span></span>
</td>
<td class="num">(2,171)<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">249<span></span>
</td>
<td class="num">(538)<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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,184<span></span>
</td>
<td class="num">(2,180)<span></span>
</td>
</tr>
<tr class="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 period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7,975<span></span>
</td>
<td class="nump">10,155<span></span>
</td>
</tr>
<tr class="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 period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">12,159<span></span>
</td>
<td class="nump">7,975<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></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_InterestPaidNet', window );">Interest paid during the period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">15<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income tax paid (refunded) during the period, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">984<span></span>
</td>
<td class="num">(430)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract', window );"><strong>Supplemental disclosures of non-cash activity:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Operating lease assets obtained in exchange for lease liabilities, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 3,396<span></span>
</td>
<td class="nump">$ 3,884<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">For the years ended December 31, 2023 and 2022, there were 65,075 and 90,748 shares,
          respectively, excluded from the diluted EPS calculation because the impact of their assumed vesting would be anti-dilutive.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 right-of-use asset in a noncash (or part noncash) transaction obtained in exchange for operating lease liability.</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;">tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sum of adjustments which are added to or deducted from net income or loss, including the portion attributable to noncontrolling interest, to reflect cash provided by or used in operating activities, in accordance with the indirect cash flow 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> -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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-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_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_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_CostOfGoodsAndServicesSoldDepreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for allocation of cost of tangible asset over its useful life directly used in production of good and rendering of service.</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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: 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 (a)<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_CostOfGoodsAndServicesSoldDepreciation</td>
</tr>
<tr>
<td style="padding-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_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_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for principal payment on 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/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><br>Reference 2: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-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_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-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_GainLossOnDispositionOfAssets1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.</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 (b)<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_GainLossOnDispositionOfAssets1</td>
</tr>
<tr>
<td style="padding-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_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, net of any cash received during the current period as refunds for the overpayment of taxes.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</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_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expenses incurred but not yet 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_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.</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_IncreaseDecreaseInDeferredIncomeTaxes</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating 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 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_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-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_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_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 obligation 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/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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<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_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInOtherCurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 current 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/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_IncreaseDecreaseInOtherCurrentAssets</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/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_IncreaseDecreaseInOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInPrepaidExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods.</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_IncreaseDecreaseInPrepaidExpense</td>
</tr>
<tr>
<td style="padding-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_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_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 periodic reduction over lease term of carrying amount of right-of-use asset 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/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<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_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-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_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to reacquire common stock during 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<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_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-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_ProceedsFromSaleOfProductiveAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inflow from the sale of property, plant and equipment (capital expenditures), software, and other 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 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-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_ProceedsFromSaleOfProductiveAssets</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387600944">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Stockholders' Equity - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Paid-in Capital [Member]</div></th>
<th class="th"><div>Treasury Stock [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss) [Member]</div></th>
<th class="th" colspan="2"><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 Dec. 31, 2021</a></td>
<td class="nump">$ 24<span></span>
</td>
<td class="nump">$ 3,959<span></span>
</td>
<td class="num">$ (9,773)<span></span>
</td>
<td class="nump">$ 58,664<span></span>
</td>
<td class="num">$ (1,373)<span></span>
</td>
<td class="nump">$ 51,501<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></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 (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="text">&#160;<span></span>
</td>
<td class="nump">8,547,335<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</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>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="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 expense</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,060<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 1,060<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Issuance of restricted stock</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of restricted stock (in shares)</a></td>
<td class="nump">140,277<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>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Purchase of vested stock for employee payroll tax</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<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 );">Purchase of vested stock for employee payroll tax (in shares)</a></td>
<td class="num">(34,362)<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>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">$ (1)<span></span>
</td>
<td class="num">(1,797)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,798)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="num">(360,100)<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>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="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</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,227<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,227<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="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 adjustments, net of tax</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(527)<span></span>
</td>
<td class="num">(527)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></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 Dec. 31, 2022</a></td>
<td class="nump">23<span></span>
</td>
<td class="nump">3,222<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
<td class="nump">59,891<span></span>
</td>
<td class="num">(1,900)<span></span>
</td>
<td class="nump">$ 51,463<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></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 (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="text">&#160;<span></span>
</td>
<td class="nump">8,293,150<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</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>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="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 expense</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">770<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 770<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Issuance of restricted stock</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of restricted stock (in shares)</a></td>
<td class="nump">108,796<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>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(11)<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">(11)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="num">(2,701)<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>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="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</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">3,768<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">3,768<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="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 adjustments, net of tax</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">356<span></span>
</td>
<td class="nump">356<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></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 Dec. 31, 2023</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">$ 3,981<span></span>
</td>
<td class="num">$ (9,773)<span></span>
</td>
<td class="nump">$ 63,659<span></span>
</td>
<td class="num">$ (1,544)<span></span>
</td>
<td class="nump">$ 56,346<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></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 (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="text">&#160;<span></span>
</td>
<td class="nump">8,399,245<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr><td colspan="8"></td></tr>
<tr><td colspan="8"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">For the years ended December 31, 2023 and 2022, there were 65,075 and 90,748 shares,
          respectively, excluded from the diluted EPS calculation because the impact of their assumed vesting would be anti-dilutive.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to equity for 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_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-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_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_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</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_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-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_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_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_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_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodValueRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 value of stock related to Restricted Stock Awards issued during 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> -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 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 3: 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 4: 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_StockIssuedDuringPeriodValueRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-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_StockRepurchasedAndRetiredDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and retired during 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> -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 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 3: 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 4: 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_StockRepurchasedAndRetiredDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-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_StockRepurchasedAndRetiredDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).</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 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 3: 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 4: 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_StockRepurchasedAndRetiredDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-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>
</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.1</span><table class="report" border="0" cellspacing="2" id="idm140418383626656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DESCRIPTION OF BUSINESS<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>DESCRIPTION OF BUSINESS [Abstract]</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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">DESCRIPTION OF BUSINESS</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">1.&#160; DESCRIPTION OF BUSINESS</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Tandy Leather Factory, Inc. (&#8220;TLF,&#8221; &#8220;we,&#8221; &#8220;our,&#8221; &#8220;us,&#8221; the &#8220;Company,&#8221; &#8220;Tandy,&#8221; or &#8220;Tandy Leather&#8221; mean Tandy Leather Factory, Inc., together with its subsidiaries)
          is one of the world&#8217;s largest specialty retailers of leather and leathercraft-related items.&#160; Founded in 1919 in Fort Worth, Texas, the Company introduced leathercrafting to millions of American and later Canadian and other international
          customers and has built a track record as the trusted source of quality leather, tools, hardware, supplies, kits and teaching materials for leatherworkers everywhere.&#160; Today, our mission remains to build on our legacy of inspiring the timeless
          art and trade of leatherworking.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">What differentiates Tandy from the competition is our high brand awareness and strong brand equity and loyalty, our network of retail stores that provides
          convenience, a high-touch customer service experience, and a hub for the local leathercrafting community, and our 100-year heritage.&#160; We believe that this combination of qualities is unique to Tandy and gives the brand competitive advantages that
          are difficult for others to replicate.</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">We sell our products
          primarily through company-owned stores and through orders generated from our global websites, and through direct account representatives in our commercial division.&#160; We produce leather lace, cut leather pieces and most of the do-it-yourself kits
          that are sold in our stores and on our websites.&#160; We also offer production services to our business customers such as cutting (&#8220;clicking&#8221;) and splitting and some assembly.&#160;&#160; We maintain our principal offices at 1900 Southeast Loop 820, Fort
          Worth, Texas 76140.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt;">The Company currently operates a total of 102
          retail stores.&#160; There are 91 stores in the United States (&#8220;U.S.&#8221;), ten stores in Canada and one store in Spain.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span> </div>

<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">The Company&#8217;s common shares currently trade on Nasdaq Capital Market under the symbol &#8220;TLF.&#8221;</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-align: justify; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"><br/>
          </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt;">We operate as a <span style="-sec-ix-hidden:Fact_48fc0c1dc93f4cba8024c854b02a1b0e"><span style="-sec-ix-hidden:Fact_084ff30487d54523a598a9e14e78cfd0">single</span></span>
          segment and report on a consolidated basis.<br/>
        </div>
<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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418497282432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING 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>SIGNIFICANT ACCOUNTING POLICIES [Abstract]</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_SignificantAccountingPoliciesTextBlock', window );">SIGNIFICANT ACCOUNTING POLICIES</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">2.&#160; SIGNIFICANT ACCOUNTING POLICIES</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Management estimates and reporting</span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">The preparation of the Company&#8217;s Consolidated Financial Statements in accordance with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;)
            requires the use of estimates that affect the reported value of assets, liabilities, revenues and expenses.&#160; These estimates are based on historical experience and various other factors that are believed to be reasonable under the
            circumstances, the results of which form the basis for the Company&#8217;s conclusions.&#160; The Company continually evaluates the information used to make these estimates as the business and the economic environment changes.&#160; Actual results may differ
            from these estimates, and estimates are subject to change due to modifications in the underlying conditions or assumptions.&#160; The policies discussed below require estimates that contain a significant degree of judgement.&#160; The use of estimates is
            pervasive throughout the Consolidated Financial Statements, but the accounting policies and estimates considered most significant are as follows.</div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';">  </span></div>

<div><br/>
        </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Principles of consolidation</span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Our Consolidated Financial Statements include the accounts of Tandy Leather Factory, Inc. and its active wholly-owned subsidiaries, The Leather Factory, L.P. (a
          Texas limited partnership), Tandy Leather Company, L.P. (a Texas limited partnership), The Leather Factory of Canada, Ltd. (a Canadian corporation), and Tandy Leather Factory Espa&#241;a, S.L. (a Spanish corporation).&#160; All intercompany accounts and
          transactions have been eliminated in consolidation.</div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> <br/>
        </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; text-align: justify; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><span style="text-decoration: underline;">Deconsolidation of
              Foreign Subsidiaries</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; text-align: left;"><span style="text-decoration: underline;"> <br/>
            </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(33, 37, 41); font-style: normal; font-variant: normal; text-transform: none;">The UK and
            Australia entities were legally terminated in 2023 and as a result of the termination, we deconsolidated our UK and Australia entities and the impact of the deconsolidation resulted in a $0.5 million loss that is reported as part of &#8220;Other, net&#8221; on the consolidated statement of operations and comprehensive income.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left;">&#160;</div>

<div><span style="font-weight: bold;"><span style="text-decoration: underline;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Correction of an error in previously issued financial statements</span></span><br/>
        </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: bold;"><br/>
          </span> </div>

<div><span style="font-weight: bold;"> </span></div>

<div style="text-align: justify;"><span style="font-weight: bold;"><span style="font-weight: normal;"><span style="font-weight: normal; color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">The 2022 consolidated financial statements included an out of period adjustment that was the result of unreconciled inventory receipts for in-transit inventory, which were identified in the fourth quarter of
                  2022. We corrected misstatements in the first three quarters of fiscal year 2023 as disclosed in our 2022 10-K, we reduced inventory and accounts payable balances by approximately $0.9 million, and adjusted changes to inventory and accounts payable in the operating activities section of the consolidated statements of cash flows by the same
                  amount. There is no impact of this adjustment to the consolidated statements of operations and comprehensive income or retained earnings.</span></span><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
              </span> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span> </div>

<div style="color: rgb(33, 37, 41); font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;"> <br/>
            </span></div>

<div style="color: rgb(33, 37, 41); font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Cash and cash equivalents</span></div>

<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>

<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;">The Company considers investments with a maturity when purchased of three months or less to be cash equivalents.&#160; All
            credit card, debit card and electronic transfer transactions that process in less than ninety days including our T-Bills are classified as cash and cash equivalents.</div>

<div>
          <span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>

<div><span style="font-weight: bold;"> </span>
          <span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-weight: bold;"> </span><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"> </span></div>

<div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Accounts receivable and expected credit losses</span></div>

<div><span style="font-weight: bold;"> <span style="font-style: normal;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>

<div><span style="font-weight: bold;"> </span></div>

<div><span style="font-weight: bold;"> </span></div>

<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;">Our receivables primarily arise from the sale of merchandise to customers that have applied for and been granted
              credit.&#160; Accounts receivable are stated at amounts due, net of an allowance for doubtful accounts.&#160; Accounts receivable are generally due within 30 days of invoicing.&#160; Our accounts receivable balance as of December 31, 2023, December 31, 2022
              and January 1, 2022 was $0.3 million, $0.4
              million, and $0.6 million, respectively.</div>

<div><span style="font-weight: normal;"> </span></div>

<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: normal;"><br/>
              </span> </div>

<div><span style="font-weight: normal;"> </span></div>

<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;">We estimate expected credit losses based on factors such as the composition of accounts receivable, the age of the
              accounts, historical bad debt experience, and our evaluation of the financial condition and past collection history of each customer.&#160; Management believes that the historical loss information it has compiled is a reasonable base on which to
              determine expected credit losses for trade receivables held at December 31, 2023, because the composition of the trade receivables at that date is consistent with that used in developing the historical credit-loss percentages (i.e., the
              similar risk characteristics of its customers and its credit practices have not changed significantly over time).&#160; Accordingly, the allowance for expected credit losses at December 31, 2023, December 31, 2022, and January 1, 2022 each totaled
              less than $0.1 million.</div>

<div><span style="font-weight: bold;"> </span>
            <span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"> </span></div>

<div><span style="font-weight: bold;"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>

<div><span style="font-weight: bold;"> </span>
          <span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-weight: bold;"> </span><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"> </span></div>

<div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Foreign currency translation and transactions</span></div>

<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>

<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;">Foreign currency translation adjustments arise from activities of our foreign
              subsidiaries.&#160; Results of operations are translated into U.S. dollars using the average exchange rates during the period, while assets and liabilities are translated using period-end exchange rates.&#160; Foreign currency translation adjustments
              are recorded in stockholders&#8217; equity, net of tax.&#160; For the years ended December 31, 2023 and 2022, we recorded foreign currency translation gain of $0.4
              million and<span style="font-size: 10pt; font-family: 'Times New Roman';"> loss adjustments of</span> $0.5 million, respectively.<br/>
            </span> </div>

<div><span style="font-weight: normal;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"><br/>
            </span> </div>

<div style="text-align: justify;"> <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">The
              deconsolidation of the UK and Australia entities resulted in a $0.5 million loss reclassification adjustment out of accumulated
              other comprehensive income (loss) which is reported net within the &#8220;Foreign currently translation gain (loss), net&#8221;.</span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"><br/>
          </span> <span style="font-weight: normal;"> </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;"><span style="font-weight: normal;">Gains and losses resulting from foreign currency transactions are recorded in other, net within
                the statements of operations and comprehensive income.</span><br/>
            </span> </div>

<div><span style="font-weight: bold;"> </span>
          <span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-weight: bold;"> </span><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"> </span></div>

<div><span style="font-weight: bold;"><br/>
            </span> </div>

<div>
          <span style="font-weight: bold;"> </span></div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Revenue recognition</span></div>

<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>

<div><span style="font-weight: bold;"> </span></div>

<div><span style="font-weight: bold;"> </span></div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;">Our revenue is earned from sales of merchandise and generally occurs via three methods: (1) at the store counter, (2) shipment of product
              generally via web sales, and (3) sales of product directly to commercial customers through our commercial account representatives.&#160; We recognize revenue when we satisfy the performance obligation of transferring control of product merchandise
              over to a customer. At the store counter, our performance obligation is met, and revenue is recognized when a sales transaction occurs with a customer.&#160; Our performance obligation for 2) and 3) are met when merchandise is shipped to a
              customer, and revenue is recognized when control passes to the customer.&#160; Shipping terms are normally free on board (&#8220;FOB&#8221;) shipping point and control passes when the merchandise is shipped to the customer.&#160; Sales tax and comparable foreign
              tax is excluded from net sales, while shipping charged to our customers is included in net sales.&#160; Net sales is based on the amount of consideration that we expect to receive, reduced by estimates for future merchandise returns.&#160; As of
              December 31, 2022, January 1, 2023, and December 31, 2023, we had received approximately $0.3 million, $0.3 million, and $0.3 million in
              credit card payments that had not shipped as of the end of the year and this was recorded in deferred revenue under other liabilities on the Balance Sheet.</div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
            </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">The sales return allowance included in accrued expense and other liabilities was </span>$0.2 million, $0.1 million, and $0.2 million as of December 31, 2023 and 2022 and January 1, 2022 respectively.<span style="font-size: 10pt; font-family: 'Times New Roman';">&#160; The
                estimated value of merchandise expected to be returned included in other current assets was less than $0.1 million</span> as
              of December 31, 2023 and 2022 and January 1, 2022. </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span></div>

<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: justify; white-space: normal; word-spacing: 0px; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">We record a gift card
            liability for the unfulfilled performance obligation on the date we issue a gift card to a customer.&#160; We record revenue and reduce the gift card liability as the customer redeems the gift card.&#160; In addition, for gift card breakage, we recognize
            a proportionate amount for the expected unredeemed gift cards over the expected customer redemption period, which is one year. We
            include our gift card liability in accrued expenses and other liabilities.&#160; On January 1, 2023, the opening balance of the gift card liability was $0.3
            million.&#160; During 2023, we issued $0.5 million of gift cards, and $0.5 million of gift cards were redeemed and recognized as revenue. At December 31, 2023, our gift card liability balance was $0.2 million. On January 1, 2022 and December 31, 2022, the gift card liability was $0.4 and $0.3 million respectively. </span></div>

<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-variant: normal; text-transform: none;"><br/>
          </span></div>

<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-variant: normal; text-transform: none;"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-style: normal; font-weight: bold;"><span style="text-decoration: underline;">Disaggregated revenue</span></span><br/>
          </span> </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-style: italic;"> <br/>
            </span></span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span>
         </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">In the following table, revenue for the years ended December 31, 2023 and 2022 is disaggregated by geographic areas as follows:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">2023<br/>
                  </span> </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">2022<br/>
                  </span> </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">67,696</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">71,665</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Canada</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">7,301</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">7,393</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">1,232</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">1,277</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Net sales</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">76,229</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">80,335</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left;"> <br/>
          </div>

<div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left;">Geographic sales information is based on the location where the order was fulfilled.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Discounts</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We offer six classes of customer discounts:&#160; 1)
          Retail, 2) Military/First Responder, 3) Business, 4) Commercial, 5) Commercial Pro, and 6) Employees. There are no other classes of discounts and any discounts given will fall into one of these six categories.&#160; Such discounts are not deemed to be variable consideration nor convey a material right to these customers since the discounted pricing they receive in a
          discount class is not incremental to others within the same class and there is no retrospective impact of such discounts.&#160; As a result, sales are reported after deduction of discounts at the point of sale.&#160; We do not pay slotting fees or make
          other payments to resellers.<br/>
        </div>

<div><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-weight: bold;"><span style="text-decoration: underline;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">Operating&#160;expense</span></span></div>

<div><span style="font-weight: bold;"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Operating expenses include all selling, general and administrative costs, including wages and benefits, rent and occupancy costs, depreciation, advertising, store
          operating expenses, outbound freight charges (to ship merchandise to customers), and corporate office costs.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Property and equipment, net of accumulated depreciation</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Property and equipment are stated at cost.&#160; Depreciation is computed using the straight-line method over the estimated useful lives of the assets, which are <span style="-sec-ix-hidden:Fact_5c4f4734e8fa4f9ab6d9ff25cd28ad7b">three</span> to ten years for equipment and
          machinery, <span style="-sec-ix-hidden:Fact_af8ec3d5fde44ae9a32304dda2a30171">seven</span> to fifteen years
          for furniture and fixtures, five years for vehicles, and forty years for buildings and related improvements.&#160; Leasehold improvements are amortized over the lesser of the life of the lease or the useful life of the asset.&#160; Repairs and maintenance
          costs are expensed as incurred.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Inventory</span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">Inventory is stated at the lower of first-in, first-out (&#8220;FIFO&#8221;) cost or net realizable value, and the FIFO layers are maintained at the location level.&#160; Finished
          goods held for sale include the cost of merchandise purchases, the costs to bring the merchandise to our Texas distribution center, warehousing and handling expenditures, and distributing and delivering merchandise to our stores.&#160; These costs
          include depreciation of long-lived assets utilized in acquiring, warehousing and distributing inventory.&#160; Assembled inventory including raw materials and work-in-process is valued on a first-in, first-out basis using full absorption accounting
          which includes material, labor, and other applicable assembly overhead. &#160;</div>

<div>Carrying values of inventory are analyzed and, to the extent that the cost of inventory exceeds the net realizable value, provisions are made to reduce the carrying amount of the inventory.
        </div>

<div><br/>
        </div>

<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span></div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">We regularly review all inventory items to determine if
          there are (i) damaged goods (e.g., for leather, excessive scars or damage from ultra-violet (&#8220;UV&#8221;) light), (ii) items that need to be removed from our product line (e.g., slow-moving items, inability of a supplier to provide items of acceptable
          quality or quantity, and to maintain freshness in the product line) and (iii) pricing actions that need to be taken to adequately value our inventory at the lower of cost or net realizable value.&#160; Since the determination of net realizable value
          of inventory involves both estimation and judgement with regard to market values and reasonable costs to sell, differences in these estimates could result in ultimate valuations that differ from the recorded asset.</div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">The majority of inventory purchases and commitments are made in U.S. dollars in order to limit the Company&#8217;s exposure to foreign currency fluctuations.&#160; Goods
          shipped to us are recorded as inventory owned by us when the risk of loss shifts to us from the supplier.</div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Inventory is physically counted twice annually in the Texas distribution center.&#160; At the store level, inventory is physically counted each
          quarter.&#160; Inventory is then adjusted in our accounting system to reflect actual count results.</div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';">  </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';">  </span></div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Leases</span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>

<div style="text-align: justify;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;">We lease certain real estate for our retail
            store locations and warehouse equipment for our Texas distribution center, both under long-term lease agreements.&#160; We determine if an arrangement is a lease at inception and recognize right-of-use (&#8220;ROU&#8221;) assets and lease liabilities at
            commencement date based on the present value of the lease payments over the lease term.&#160; We elected not to record leases with an initial term of 12 months or less on the balance sheet for all our asset classes. The depreciable life of related
            leasehold improvements is based on the shorter of the useful life or the lease term.</span> <br/>
        </div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"><br/>
        </div>

<div style="text-align: justify;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;">For operating leases, the present value of
            our lease payments may include: (1) rental payments adjusted for inflation or market rates, and (2) lease terms with options to renew the lease or options to purchase leased equipment, when it is reasonably certain we will exercise such an
            option.&#160; The exercise of lease renewal or purchase option is generally at our discretion.&#160; Payments based on a change in an index or market rate are not considered in the determination of lease payments for purposes of measuring the related
            lease liability.&#160; We discount lease payments using our incremental borrowing rate based on information available as of the measurement date.</span><br/>
        </div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"> <br/>
        </div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">We recognize rent expense related to our operating leases on a straight-line basis over the lease term.&#160; Rent expense is recorded in operating expenses.<br/>
        </div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"> <br/>
        </div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">For finance leases, our right-of-use assets are amortized on a straight-line basis over the earlier of the useful life of the right-of-use asset or the end of the
          lease term with rent expense recorded to operating expenses.&#160; We adjust the lease liability to reflect lease payments made during the period and interest incurred on the lease liability using the effective interest method. The remaining asset
          balance in our finance lease is only residual value and only an insignificant interest expense of less than $100 dollars was incurred
          and is recorded on the consolidated statements of operations and comprehensive income.<br/>
          <br/>
        </div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">None of our lease agreements contain material residual value guarantees or material restrictive covenants.&#160; We do not have any contingent rental payment agreements.
          On September 8, 2022, we entered into a concession agreement for our store on the Fort Liberty (formerly Fort Bragg) military base in which the concession payment was based on a sliding scale percentage of sales.&#160; At the end of November, 2023, we
          closed that store. We have no sublease agreements and no lease agreements in which we are named as a lessor.&#160; Refer to Note 4, Leases for further discussion of the Company&#8217;s leases.<br/>
        </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Impairment of long-lived assets</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We evaluate long-lived assets on a quarterly basis to identify events or changes in circumstances (&#8220;triggering events&#8221;) that indicate the carrying value of certain
          assets may not be recoverable.&#160; Upon the occurrence of a triggering event, right-of-use (&#8220;ROU&#8221;) lease assets, property and equipment and definite-lived intangible assets are reviewed for impairment and an impairment loss is recorded in the period
          in which it is determined that the carrying amount of the assets is not recoverable.&#160; The determination of recoverability is made based upon the estimated undiscounted future net cash flows of assets grouped at the lowest level for which there
          are identifiable cash flows independent of the cash flows of other groups of assets with such cash flows to be realized over the estimated remaining useful life of the primary asset within the asset group.&#160; The Company determined the lowest level
          of identifiable cash flows that are independent of other asset groups to be primarily at the individual store level.&#160; If the estimated undiscounted future net cash flows for a given store are less than the carrying amount of the related store
          assets, an impairment loss is determined by comparing the estimated fair value with the carrying value of the related assets.&#160; The impairment loss is then allocated across the asset group&#8217;s major classifications which in this case are operating
          lease assets and property and equipment. Triggering events at the store level could include material declines in operational and financial performance or planned changes in the use of assets, such as store relocation or store closure.&#160; This
          evaluation requires management to make judgements relating to future cash flows, growth rates and economic and market conditions.&#160; The fair value of an asset group is estimated using a discounted cash flow valuation method.<br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For the years ended December 31, 2023 and 2022, no
          impairment expense was recognized.<br/>
        </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Earnings per share</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Basic earnings per share (&#8220;EPS&#8221;) are computed based on the weighted average number of common shares outstanding during the period.&#160; Diluted EPS includes additional
          common shares that would have been outstanding if potential common shares with a dilutive effect, such as stock awards from the Company&#8217;s restricted stock plan, had been issued.&#160; Anti-dilutive securities represent potentially dilutive securities
          which are excluded from the computation of diluted EPS as their impact would be anti-dilutive.&#160; <span style="font-family: 'Times New Roman'; font-size: 10pt; color: rgb(0, 0, 0);">Diluted EPS is computed using the treasury stock method.</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">(in thousands, except share data)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">&#160;</sup><span style="font-family: 'Times New Roman'; font-size: 10pt;">2023 </span></div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">2022<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Numerator:</div>
              </td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Net income<br/>
                  </div>
                </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">3,768</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">1,227</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);"></div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Denominator:</div>
              </td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Basic weighted-average common shares outstanding<br/>
                  </div>
                </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">8,339,658</div>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">8,363,390</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Dilutive effect of service-based restricted stock awards granted to Board of Directors under the Plan</div>
                </div>
              </td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">3,218</div>
                </div>
              </td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">8,735</div>
              </td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">
                <div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); text-align: left;">Dilutive effect of service-based restricted stock awards granted to employees under the Plan</div>
              </td>

    <td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">27,100</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">22,442</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Diluted weighted-average common shares outstanding</div>
              </td>

    <td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">8,369,976</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">8,394,567</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span>(1) For the years ended December 31, 2023 and 2022, there were 65,075 and 90,748 shares,
          respectively, excluded from the diluted EPS calculation because the impact of their assumed vesting would be anti-dilutive.
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For additional disclosures regarding restricted stock awards and employee stock options, see Note 10, <span style="font-style: italic;">Stockholders&#8217; Equity &#8211;
            Equity Compensation Plans</span>.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: bold; text-align: justify; text-transform: none;"><span style="text-decoration: underline;">Other intangible
              assets</span></div>

<div style="font-family: 'Times New Roman'; text-align: justify; font-size: 10pt;"><span style="color: rgb(0, 0, 0);"> <br/>
          </span></div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Our intangible assets and related accumulated amortization relate to trademarks and copyrights that are definite-lived intangibles and are
            subject to amortization.&#160; The weighted average amortization period is<span style="font-family: 'Times New Roman'; font-size: 10pt;"> 15
              years for trademarks and copyrights.&#160; Amortization expense related to other intangible assets was less than $0.01 million in
              each of 2023 and 2022 and was recorded in operating expenses.&#160; Based on the current amount of intangible assets subject to amortization, we estimate amortization expense to be less than $0.01 million annually over the next five years. Our <span style="font-family: 'Times New Roman'; font-size: 10pt;">&#8220;</span>Other intangible assets&#8221; was fully
              amortized as of December 31, 2023 and is now included in &#8220;Other assets&#8221; on the face of the balance sheet.</span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="font-style: normal; text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Fair value of financial instruments</span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We measure fair value as an exit price, which is the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between
          market participants.&#160; As a basis for considering such assumptions, accounting standards establish a three-tier fair value hierarchy, which prioritizes the inputs used in the valuation methodologies in measuring fair value:</div>

<div><br/></div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;">


  <tr>

    <td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">Level 1 &#8211; observable inputs that reflect quoted prices in active markets for identical assets or liabilities.</div>
              </td>

  </tr>


</table>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;">


  <tr>

    <td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">Level 2 &#8211; significant observable inputs other than quoted prices in active markets for similar assets and liabilities, such as quoted prices for identical or
                  similar assets or liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.</div>
              </td>

  </tr>


</table>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;">


  <tr>

    <td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">Level 3 &#8211; significant unobservable inputs reflecting our own assumptions, consistent with reasonably available assumptions made by other market participants.</div>
              </td>

  </tr>


</table>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify;"> <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;">Classification of the financial asset or
            liability within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement. </span></div>

<div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
          </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Our principal financial instruments consist of our money market investment or T-Bills maturing less than 90 days, accounts receivable, and
            accounts payable.&#160; As of December 31, 2023 and 2022, the carrying values of our financial instruments, included in our Consolidated Balance Sheets, approximated their fair values.&#160; There were no transfers into or out of Levels 1, 2 and 3 during the years ended December 31, 2023 and 2022.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Income taxes</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Income taxes are estimated for each jurisdiction in which we operate.&#160; This involves assessing current tax exposure together with temporary differences resulting
          from differing treatment of items for tax and financial statement accounting purposes.&#160; Any resulting deferred tax assets are evaluated for recoverability based on estimated future taxable income.&#160; To the extent it is more-likely-than-not that
          all or a portion of a deferred tax asset will not be realized, a valuation allowance is recorded.&#160; Our evaluation regarding whether a valuation allowance is required or should be adjusted also considers, among other things, the nature, frequency,
          and severity of recent losses, forecasts of future profitability and the duration of statutory carryforward periods.</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify;">
           <span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Deferred tax assets and liabilities
            are measured using the enacted tax rates in effect in the years when those temporary differences are expected to reverse.&#160; The effect on deferred taxes from a change in tax rate is recognized through continuing operations in the period that
            includes the enactment date of the change.&#160; Changes in tax laws and rates could affect recorded deferred tax assets and liabilities in the future. </span> </div>

<div><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">A tax benefit from an uncertain tax position may be recognized when it is more-likely-than-not that the position will be sustained upon examination, including
          resolutions of any related appeals or litigation processes, based on the technical merits.&#160; Income tax positions must meet a more-likely-than-not recognition threshold to be recognized.</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgement changes as a result of the evaluation of new information not
          previously available.&#160; Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax liabilities.&#160; These differences will be reflected as
          increases or decreases to income tax expense and the effective tax rate in the period in which new information becomes available.&#160; We recognize interest and/or penalties related to all tax positions in income tax expense. To the extent that
          accrued interest and penalties do not ultimately become payable, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision in the period that such determination is made.</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">We may be subject to periodic audits by the Internal
          Revenue Service and other taxing authorities.&#160; These audits may challenge certain of our tax positions, such as the timing and amount of deductions and allocation of taxable income to the various jurisdictions.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Stock-based compensation</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Company&#8217;s stock-based compensation relates primarily to restricted stock unit (&#8220;RSU&#8221;) awards.&#160; Accounting guidance requires measurement and recognition of
          compensation expense at an amount equal to the grant date fair value.&#160; Compensation expense is recognized for service-based stock awards on a straight-line basis or ratably over the requisite service period, based on the closing price of the
          Company&#8217;s stock on the date of grant.&#160; The service-based awards typically vest ratably over the requisite service period, provided that the participant is employed on the vesting date.&#160; Compensation expense is reduced by actual forfeitures as
          they occur over the requisite service period of the awards.</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Performance-based RSUs vest, if at all, upon the Company satisfying certain performance targets.&#160; The Company records compensation expense for awards with a
          performance condition when it is probable that the condition will be achieved.&#160; If the Company determines it is not probable a performance condition will be achieved, no compensation expense is recognized.&#160; If the Company changes its assessment
          in a subsequent period and concludes it is probable a performance condition will be achieved, the Company will recognize compensation expense ratably between the period of the change in assessment through the expected date of satisfying the
          performance condition for vesting.&#160; If the Company subsequently assesses that it is no longer probable that a performance condition will be achieved, the accumulated expense that has been previously recognized will be reversed.&#160; The compensation
          expense ultimately recognized, if any, related to performance-based awards will equal the grant date fair value based on the number of shares for which the performance condition has been satisfied.&#160; We issue shares from authorized shares upon the
          lapsing of vesting restrictions on RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Comprehensive income<br/>
          </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Comprehensive income includes net income and certain other items that are recorded directly to stockholders&#8217; equity.&#160; The Company&#8217;s only source of other
            comprehensive income is foreign currency translation adjustments, and those adjustments are presented net of tax.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Shipping and handling costs</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">Costs to ship products from our stores to our customers are included in operating expenses on the
              Consolidated Statements of Operations and Comprehensive Income.&#160; Total costs were $3.2 million and $3.5 million for the years ended December 31, 2023, and 2022, respectively.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Advertising</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Advertising costs include the cost of print, digital, direct mail, community events, trade shows, and our e-commerce platform.&#160; Advertising costs are expensed as
          incurred.&#160; Total advertising expense was $1.1 million and $1.2 million in 2023 and 2022, respectively.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Recently Adopted Accounting Pronouncements</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">The Company did not adopt any new accounting guidance that was applicable for the year ended December 31, 2023.</div>
<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_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all significant accounting policies of the reporting entity.</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 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-1<br><br>Reference 2: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387813728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BALANCE SHEET COMPONENTS<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_DisclosureTextBlockSupplementAbstract', window );"><strong>BALANCE SHEET COMPONENTS [Abstract]</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_SupplementalBalanceSheetDisclosuresTextBlock', window );">BALANCE SHEET COMPONENTS</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">3.&#160; BALANCE SHEET COMPONENTS</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Inventory</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">On hand:</div>
              </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Finished goods held for sale</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">33,350</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">35,234</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Raw materials and work in process</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">1,774</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">925</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Inventory in transit</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">2,869</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">2,068</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">37,993</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">38,227</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div><span style="font-weight: bold;"><span style="background-color: rgb(255, 255, 255); font-weight: bold; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Property
            and Equipment</span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">Building</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">9,277</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">9,266</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Land</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">1,451</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">1,451</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Leasehold improvements</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">1,875</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">1,870</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Equipment and machinery</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">8,469</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">7,931</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Furniture and fixtures</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">7,452</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">7,471</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Vehicles</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">154</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">135</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">28,678</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">28,124</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Less: accumulated depreciation</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(18,131</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(16,962</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">10,547</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">11,162</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
            </div>

<div><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Our property and equipment, net,
                was located in the following countries: </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">United States</div>
                    </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">$</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">10,414</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">$</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">10,989</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">Canada</div>
                    </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">133</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">173</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">Spain</div>
                    </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">-</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">-</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">10,547</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">11,162</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
              </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Depreciation expense was $1.2 million and $1.2 million for the years ended December 31, 2023 and 2022, respectively.</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Short-term Liabilities</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Accrued Expenses and Other Liabilities</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0);">Accrued employee related costs</div>
                </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">992</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">977</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Unearned gift card revenue</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">223</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">256</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Estimated returns</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">523</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">527</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Sales and payroll taxes payable</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">1,141</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">693</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Accrued vendor payables</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">261</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">228</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">3,140</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">2,681</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_DisclosureTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-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_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and 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/2009/role/commonPracticeRef<br> -Topic 210<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//210/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_SupplementalBalanceSheetDisclosuresTextBlock</td>
</tr>
<tr>
<td style="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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418384672928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>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_LeasesAbstract', window );"><strong>LEASES [Abstract]</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 );">LEASES</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">4.&#160; LEASES</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">The Company leases certain real estate and warehouse equipment under long-term lease agreements.</div>

<div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;"> <br/>
          </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;">The Company performs interim reviews of its operating and finance lease assets for impairment when evidence exists that the
            carrying value of an asset group, including a lease asset, may not be recoverable. The Company recognized no impairment expense
            related to its operating lease assets during the year ended December 31, 2023 or December 31, 2022.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Additional information regarding the Company&#8217;s operating and finance leases is as follows (in thousands, except for lease term and discount rate information):<br/>
          </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>

<div>
            <table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;">


  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); width: 38%; white-space: nowrap;" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Leases</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); width: 37%; white-space: nowrap;" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Balance Sheet Classification</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                    <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                    <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%;" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Assets:</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0);">Operating</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_b9dfdad94aae4396b495caba99b90ba2"><span style="-sec-ix-hidden:Fact_42175b4cf694408b86a7f31b64515fcc">Operating lease assets</span></span> </div>
                  </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>8,995</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>9,742</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; padding-bottom: 2px;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);">Finance</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; padding-bottom: 2px;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_61204fcbee3a4dc2a55825352cedb41c"><span style="-sec-ix-hidden:Fact_191f13dfd1884c7da7e42218f7e403c9">Financing lease assets</span></span> </div>
                  </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                    <div>23</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                    <div>31</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Total assets</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="font-weight: bold;">$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="font-weight: bold;">9,018</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="font-weight: bold;">$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="font-weight: bold;">9,773</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Liabilities:</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="text-decoration: underline;">Current</span></div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);">Operating</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_55612db32bb54f3b80b4f633e166d69b"><span style="-sec-ix-hidden:Fact_287013327779408883a177a55e96ea11">Current portion of operating lease liabilities</span></span> </div>
                  </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>3,172</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>2,881</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);">Finance</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_f125ff13c8854d999c5e5b95ee4888a9"><span style="-sec-ix-hidden:Fact_1d33cc9a62e44f4d9b50719282b6d98b">Current portion of finance lease liabilities</span></span> </div>
                  </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                    <div>-</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                    <div>15</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="text-decoration: underline;">Non-current</span></div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);">Operating</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_f6c46685d84545a9adea4c3de34eb85d"><span style="-sec-ix-hidden:Fact_6436e527f2fe40cbbec7271dc63c701e">Operating lease liabilities, non-current</span></span> </div>
                  </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                    <div>6,253</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                    <div>7,469</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0);">Finance</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 37%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_ef3fa3de80ef4a7198d64162b5f1a16d"><span style="-sec-ix-hidden:Fact_a6c6da4f95914e30a3b2331184d7a6ee">Finance lease liabilities, non-current</span></span> </div>
                  </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>1</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>1</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; padding-bottom: 4px;" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Total lease liabilities</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                    <div style="font-weight: normal;">$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                    <div style="font-weight: bold;">9,426</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                    <div style="font-weight: normal;">$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                    <div style="font-weight: bold;">10,366</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
          </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>

<div><br/>
          </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%; margin-left: auto; margin-right: auto;">


  <tr>

    <td style="vertical-align: bottom; width: 38%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Lease Cost</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Income Statement Classification</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Operating lease cost</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">3,908</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">3,737</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Operating lease cost</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Impairment expense</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">Short-term lease cost<br/>
                </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td rowspan="1" style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">-</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">38</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Variable lease cost&#160;(1)</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">915</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">797</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td colspan="1" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Amortization of finance lease assets<br/>
                  </div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">7</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">7</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Interest on lease liabilities<br/>
                  </div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; padding-bottom: 2px;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Interest expense</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">1</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Total lease cost</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom">4,830</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom">4,580</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">(1) Variable lease cost includes payment for certain real
            estate taxes, insurance, common area maintenance, and other charges related to lease agreements, which are not included in the measurement of the operating lease liabilities. </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>

<div>
           <span style="font-weight: bold;"> </span></div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Maturity of Lease Liabilities</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Operating Leases</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Finance Leases</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2024</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">3,687</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2025</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2,755</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">-<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2026</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2,103</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">- </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2027</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">1,577</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">- </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2028</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">731</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">- </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Thereafter</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">275</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Total lease payments</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">11,128</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Less:&#160; Interest</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">(1,702</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Present value of lease liabilities</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">9,426</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </div>


              <table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;">


  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">Other Information</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">Cash paid for amounts included in the measurement of lease liabilities:</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 75.49%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Operating cash flows used in operating leases</div>
                    </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">$</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">3,955</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">$</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">3,871</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 75.49%; white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Operating cash flows used in finance leases</div>
                    </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">-</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">1</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 75.49%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Financing cash flows used in finance leases</div>
                    </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">15</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">14</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
               </div>

<div><br/></div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;">


  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);"><span style="font-weight: bold;">Lease Term and Discount Rate</span></div>
                </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Weighted-average remaining lease term (years):</div>
                </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Operating leases</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">3.6<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">4.8<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Finance leases</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">0.0<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">0.9<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Weighted-average discount rate:</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Operating leases</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">4.8<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">%<br/>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">5.0<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">%<br/>
                </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Finance leases</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">6.0<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">%<br/>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">6.0<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">%<br/>
                </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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418388268112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NOTES PAYABLE AND LONG-TERM DEBT<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_DebtDisclosureAbstract', window );"><strong>NOTES PAYABLE AND LONG-TERM DEBT [Abstract]</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 );">NOTES PAYABLE AND LONG-TERM DEBT</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">5.&#160; NOTES PAYABLE AND LONG-TERM DEBT</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> During the second quarter of 2020, the Company borrowed $0.4
          million from Banco Santander S.A. under the Institute of Official Credit Guarantee for Small and Medium-sized Enterprises in order to facilitate the continuation of employment and to attenuate the economic effects of the coronavirus (&#8220;COVID-19&#8221;)
          virus.&#160; This loan was provided for by the Spanish government as part of a COVID-19 relief program, and on June 6, 2022, the Company repaid this loan in full.<br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span></div>

<div><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> On
            January 3, 2023, the Company entered into a credit agreement (the &#8220;Credit Agreement&#8221;) with JPMorgan Chase Bank, N.A.&#160; Under the Credit Agreement, the bank will provide the Company a credit facility of up to $5,000,000 on standard terms and conditions, including affirmative and negative covenants set forth in the Credit Agreement.&#160; As security for the
            credit facility, the Company has pledged as collateral certain of its assets, including the Company&#8217;s cash in deposit accounts, inventory and equipment.&#160; As of the date of this filing, no funds had been borrowed under this facility.</span> <br/>
          </div>
<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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_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>
</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.1</span><table class="report" border="0" cellspacing="2" id="idm140418388971936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EMPLOYEE BENEFIT AND SAVINGS PLANS<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>EMPLOYEE BENEFIT AND SAVINGS PLANS [Abstract]</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 );">EMPLOYEE BENEFIT AND SAVINGS PLANS</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">6.&#160; EMPLOYEE BENEFIT AND SAVINGS PLANS</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We have a 401(k) plan to provide retirement benefits for our employees.&#160; As allowed under Section 401(k) of the Internal Revenue Code, the plan provides tax-deferred
          salary contributions for eligible employees and allows employees to contribute a percentage of their annual compensation to the plan on a pretax basis.&#160; Employee contributions are limited to a maximum annual amount as set periodically by the
          Internal Revenue Code.&#160; In 2023 and 2022, we matched 100% of the pretax employee contributions on the first 3% of eligible earnings and 50%
          of the pretax employee contributions on the next 2% of eligible earnings that are contributed by employees.&#160; For the years ended
          December 31, 2023, and 2022, we recorded employer match expense of $0.3 million and $0.3 million, respectively.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span> </div>

<div style="text-align: justify;"> <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> The
            plan allows employees who meet the age requirements and reach the plan contribution limits to make a catch-up contribution. The catch-up contributions are not eligible for matching contributions.&#160; In addition, the plan provides for
            discretionary matching contributions as determined by the Board of Directors.&#160; There were no discretionary matching
            contributions made in 2023 or 2022. </span> </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We offer no postretirement or postemployment benefits to our employees.</div>
<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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418385129344">
<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 [Abstract]</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">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">7.&#160; INCOME TAXES</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The provision for income taxes consists of the following:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Year Ended December 31,</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Income Tax Benefit<br/>
                </div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Current provision (benefit):</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Federal</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">892</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">16</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">State</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">181</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">41</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Foreign</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">102</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">96</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Related to UTP</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(34</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">28</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">1,141</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">181</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">Deferred provision (benefit):</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">Federal</div>
              </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">(266</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">)</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">-</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: normal; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">State</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">(103</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">)</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">-</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: normal; width: 76%; padding-bottom: 2px;" valign="bottom">Foreign</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">5</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">-</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;" valign="bottom">(364</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;" valign="bottom">)</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;" valign="bottom">-</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Total tax provision (benefit)<br/>
                </div>
              </td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">777</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">181</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/></div>

<div style="margin-top: 0px; margin-bottom: 0px; font-family: 'Times New Roman'; font-size: 10pt; text-align: justify; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">Earnings occurring outside the U.S. are deemed to be indefinitely reinvested outside of the U.S. to support the Company&#8217;s foreign operations.&#160; As a result, if the Company accumulates earnings overseas, they will be used
            for investment in the Company&#8217;s businesses outside the U.S.&#160; The Company will use cash generated from U.S. operations and short- and long-term borrowings to meet the Company&#8217;s U.S. cash needs.&#160; The determination of unrecognized deferred tax
            liabilities for temporary differences in investments in foreign subsidiaries is not practicable.</div>

<div style="margin-top: 0px; margin-bottom: 0px; font-family: 'Times New Roman'; font-size: 10pt; text-align: justify; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"> <br/>
          </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">The Company has $0.7 million of state tax net operating loss (&#8220;NOL&#8221;) carryovers which will begin to expire in 2025.&#160; We also have a full valuation allowance on $0.6 million of foreign tax NOL carryovers that do not expire.<br/>
            </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Income before income taxes was earned in the following tax jurisdictions:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Year Ended December 31,</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Income (Loss) Before Income Taxes</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">United States</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">3,765</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">733</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Spain</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">25</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);"></div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(83</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Canada</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">755</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">758</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);"></div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">4,545</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">1,408</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The income tax effects of temporary differences that give rise to significant portions of deferred income tax assets and liabilities are as follows:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Deferred income tax assets:</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Inventory</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">412</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">471</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Stock-based compensation</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">55</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">93</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Accounts receivable</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">8</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">14</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Sales returns</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">49</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">47</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Foreign currency translation gain/loss in OCI</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">512</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">689</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Net operating losses</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">182</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">261</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Accrued expenses</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">170</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">63</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Leases</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">108</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">152</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Total deferred income tax assets</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">1,496</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">1,790</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Less:&#160; valuation allowance</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">(154</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">(1,151</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">)</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Total deferred income tax assets, net of valuation allowance</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">1,342</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">639</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Property and equipment depreciation</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">471</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">639</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Total deferred income tax liabilities</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">471</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">639</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Net deferred tax asset (liability)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">871</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">-</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We are required to reduce deferred tax assets by a valuation allowance if, based on the weight of the available evidence, it is more likely than not that all or a
          portion of a deferred tax asset will not be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences are deductible.<br/>
          <br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">As of each reporting date, the Company considers new evidence, both positive and negative, that could affect its view of the future realization of deferred tax assets.&#160;&#160; As of December 31, 2023,
            management determined that there is sufficient positive evidence to conclude that it is more likely than not that additional deferred taxes of $1.3
            million are realizable.&#160; We reduced the valuation allowance accordingly.</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Our
            effective tax rate differs from the federal statutory rate primarily due to U.S. state income tax expense, the difference in tax rates for loss carryback periods, foreign income/loss positions, expenses that are nondeductible for tax purposes,
            the change in our valuation allowance associated with our deferred tax assets, and differences in tax rates.&#160; </span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Below is a reconciliation of our effective tax rate from the statutory rate: </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Year Ended December 31,</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">2023</td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: middle; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Statutory rate &#8211; Federal U.S. income tax</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">21.0</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">21.0</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: middle; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">State and local taxes</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">5.3</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(0.6</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: middle; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Permanent book/tax differences</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">2.4</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">11.3</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: middle; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Change in valuation allowance</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(6.8</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(20.3</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div>Interest on Uncertain Tax Position<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(0.8</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">2.0</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">Income tax credits<br/>
              </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">(2.3</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">)%</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">-</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: middle; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Other, net</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(1.7</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(0.5</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: middle; width: 76%; padding-bottom: 4px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Effective rate</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">17.1</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">12.9</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">%</div>
              </td>

  </tr>


</table>

<div><br/>
          </div>

<div style="text-align: justify;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">We file a
          consolidated U.S. income tax return as well as state tax returns on a consolidated, combined, or stand-alone basis, depending on the jurisdiction.&#160; We are no longer subject to U.S. federal income tax examinations by tax authorities for years
          prior to the tax year ended December 2021.&#160; Depending on the jurisdiction, we are no longer subject to state examinations by tax authorities for years prior to the December 2020 and December 2021 tax years.</span> We file tax returns in a limited
        number of foreign jurisdictions. </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">A reconciliation of the beginning and ending amount of uncertain tax positions (&#8220;UTP&#8221;) is as follows:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022</div>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">UTP at beginning of the year</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">450</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">415</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Gross (decrease) increase to tax positions in current period</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(27</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">7</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Interest expense</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(35</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">28</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">UTP at end of year</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">388</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">450</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418384955888">
<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 [Abstract]</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">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">8.&#160; COMMITMENTS AND CONTINGENCIES</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Legal Proceedings</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We are periodically involved in various litigation that arises in the ordinary course of business and operations.&#160; There are no such matters pending that we expect
          to have a material impact on our financial position or operating results.&#160; Legal costs associated with the resolution of claims, lawsuits, and other contingencies are expensed as incurred.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">Delisting of the
            Company&#8217;s Common Stock</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"> <br/>
          </div>

<div><span style="color: rgb(38, 38, 38);"> </span></div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;">After discovery of
            the accounting matters described in previous Security and Exchange Commission filings and during our resulting financial restatement, the Company did not file its periodic financial reports with the SEC.&#160; As a result, Nasdaq suspended trading
            of the Company&#8217;s stock in August 2020 and formally de-listed the stock from the Nasdaq markets in February 2021.&#160; After being de-listed from Nasdaq, the Company&#8217;s stock traded in the Over The Counter Markets until September l, 2022, when Nasdaq
            again approved it for listing.&#160; The Company&#8217;s stock currently trades on the Nasdaq Capital Market under the symbol TLF.</div>
<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.1</span><table class="report" border="0" cellspacing="2" id="idm140418385141968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK<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_RisksAndUncertaintiesAbstract', window );"><strong>SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK [Abstract]</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_ConcentrationRiskDisclosureTextBlock', window );">SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">9.&#160; SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Major Customers</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Our revenues are derived from a diverse group of customers, from hobbyist crafters to small and large businesses across a wide variety of industries.&#160; No single customer accounted for more than 0.5% of our consolidated revenues in 2023 or 2022, and sales to our five largest customers represented less than 2.0%
          of consolidated revenues in each of those years.&#160; While we do not believe the loss of one of these customers would have a significant negative impact on our operations, we do believe the loss of several of these customers simultaneously or a
          substantial reduction in sales generated by them could temporarily affect our operating results.</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;">Major Suppliers</span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal;"> <br/>
          </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal;">We purchase merchandise and raw materials from nearly 150 suppliers from the United States and approximately 20
            foreign countries.&#160; In general, our 10 largest suppliers account for approximately 55% of our inventory purchases, and we had one supplier in
            2023 who represented more than 10% of our purchases.</span><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal;"> <br/>
          </span></div>

<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Credit Risk</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Due to the large number of customers comprising our customer base, concentrations of credit risk with respect to customer receivables are limited. The top two customers as of December 31, 2023, and 2022, represented 8.0% and 10.0% of net accounts receivable balance, respectively. These top two customers were also current as of these same dates. We do not generally require collateral for accounts receivable, but we do perform periodic
          credit evaluations of our customers and believe the allowance for doubtful accounts is adequate.&#160; It is our opinion that if any one or a group of customer receivable balances should be deemed uncollectable, it would not have a material adverse
          effect on our results of operations or financial condition.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify;">
           <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">We maintain a majority of our cash in marketable securities and bank deposit accounts that, at times, may exceed federally insured limits.&#160; We have not experienced any losses in such accounts.&#160; We believe we are not exposed to any
            significant credit risk on our cash and cash equivalents. </span></div>
<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_ConcentrationRiskDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk 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://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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387948144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS' EQUITY<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_EquityAbstract', window );"><strong>STOCKHOLDERS' EQUITY [Abstract]</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 );">STOCKHOLDERS' EQUITY</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">10.&#160; STOCKHOLDERS&#8217; EQUITY</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Equity Compensation Plans</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify;"> <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">The
            Tandy Leather Factory, Inc. 2013 Restricted Stock Plan (the &#8220;2013 Plan&#8221;) was adopted by our Board of Directors in January 2013 and approved by our stockholders in June 2013.&#160; The 2013 Plan initially reserved up to 300,000 shares of our common stock for restricted stock unit (&#8220;RSU&#8221;) awards to our executive officers, non-employee directors and other key
            employees.&#160; In June 2020, our stockholders approved an increase to the plan reserve to 800,000 shares of our common stock and
            extended the 2013 Plan through June 2023.&#160; Awards granted under the 2013 Plan may be service-based awards or performance-based awards and may be subject to a graded vesting schedule with a minimum vesting period of four years, unless otherwise determined by the Compensation Committee of the Board of Directors that administers the plan.&#160; In June 2022, as part of
            their annual director compensation, certain of our non-employee directors were granted a total of 14,000 service-based RSUs under
            the 2013 Plan, which will vest ratably over the next four years provided that the participant is still on the board on the vesting
            date. </span> </div>

<div style="text-align: justify;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> <br/>
          </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">The Tandy Leather
            Factory, Inc. 2023 Incentive Stock Plan (the &#8220;2023 Plan&#8221;) was adopted by our Board of Directors in April 2023 and approved by our stockholders in June 2023.&#160; The 2023 Plan initially reserved up to 1,000,000 shares of our common stock for a variety of equity awards (including, but not limited to, RSUs, the only type of awards that have been granted to date) to our
            executive officers, non-employee directors and other key employees.&#160; In June 2023, as part of their annual director compensation, certain of our non-employee directors were granted a total of 12,993 service-based RSUs under the 2023 Plan, which will vest ratably over the next four years, subject to each participant&#8217;s continues service on the board as of each vesting date.&#160; In October 2023, the Company granted to Ms. Carr a total of 276,000 service-based RSUs under the 2023 Plan, which will vest ratably over the next three years, subject to Ms. Carr&#8217;s continued employment as of each vesting date.</div>

<div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"> <br/>
          </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">In addition to grants under the Company&#8217;s equity compensation plans, in October 2018 we granted a total of 644,000 RSUs to the Company&#8217;s Chief Executive Officer (&#8220;CEO&#8221;), of which (i) 460,000
          are service-based RSUs that vest ratably over a period of five years from the grant date based on our CEO&#8217;s continued employment in
          her role, (ii) 92,000 are performance-based RSUs that will vest if the Company&#8217;s operating income exceeds $12 million dollars two fiscal years in a row, and (iii) 92,000
          are performance-based RSUs that will vest if the Company&#8217;s operating income exceeds $14 million dollars in one fiscal year.&#160; As of
          December 31, 2023, the Company has concluded that the performance conditions related to these performance-based RSUs was not achieved, and as a result no
          compensation expense related to these performance-based RSUs has been recorded.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">A summary of the activity for restricted stock and RSU awards is as follows:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td rowspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold;" valign="bottom"> Shares</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold;" valign="bottom"> Weighted Average </td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"> (in thousands) </td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"> Share Price </td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Balance, January 1, 2023</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">441</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">6.46</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Granted</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">290</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">4.25</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Forfeited</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(2</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">5.00</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Vested</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(106</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">6.51</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Balance, December 31, 2023</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">623</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 4px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); padding-bottom: 4px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">5.12</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Company&#8217;s stock-based compensation relates to restricted stock and RSU awards.&#160; For these service-based awards, our stock-based compensation expense, included in
          operating expenses, was $0.8 million and $1.1
          million in 2023 and 2022, respectively.</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023, the Company has concluded it is not probable that the performance conditions related to the performance-based RSUs described above will be
          achieved, and as a result no compensation expense related to performance-based RSUs has been recorded.</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023, there was unrecognized compensation cost related to non-vested, service-based awards of $1.4 million which will be recognized over 3.1 weighted average
          years in each of the following years:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="width: 100%; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; margin-left: auto; margin-right: auto;">


  <tr>

    <td colspan="4" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Unrecognized Expense</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 48%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0);">2024 </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);"><br/>
                </div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">571</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 48%; white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0);">2025 </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">468</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 48%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0);">2026 </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">314</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 48%; padding-bottom: 2px; text-align: center; white-space: nowrap;" valign="bottom">2027
              </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">7 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: center; width: 48%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">1,360</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We issue shares from authorized shares upon the lapsing of vesting restrictions on restricted stock and RSUs.&#160; In 2023 and 2022, we issued 108,796 and 140,277 shares,
          respectively net of shares withheld to pay participants&#8217; income taxes, resulting from the vesting of restricted stock and RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards.</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="text-decoration: underline;"><span style="font-weight: bold;">Share Repurchase Program</span></span><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="text-decoration: underline;"><span style="font-weight: bold;"> <br/>
            </span></span></div>

<div style="text-align: justify;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">On
            August 9, 2020, the Board of Directors approved a program to repurchase up to $5.0 million of its common stock between August 9, 2020
            and July 31, 2022.&#160; This program expired in July 2022.&#160; <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">On August 8, 2022, the Board of Directors approved a new program to repurchase up to $5.0 million of the
              Company&#8217;s common stock between that date and August 31, 2024.&#160; As of December 31, 2022 and December 31, 2023, $5.0 million
              remained available for repurchase under this new program.</span><br/>
          </span> </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="background-color: rgb(255, 255, 255); margin-top: 0px; margin-bottom: 6pt; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-align: justify; text-transform: none;">On April 11, 2022, we entered into an agreement with&#160;two&#160;institutional shareholders of the Company to repurchase 359,500
            shares of our common stock, par value $0.0024 in a private transaction. The purchase price was $5.00 per share for a total of $1.8
            million. The closing of the repurchases took place on April 22, 2022, and these shares were subsequently cancelled. Prior to the repurchase, the shares represented approximately 4.2% of our outstanding common stock.</div>

<div style="margin-top: 0px; margin-bottom: 0pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt; text-align: justify;"><span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;">The direct share repurchase transactions were separately authorized by our Board of Directors and did not reduce the remaining amount authorized to be
              repurchased under the plans described above.&#160; In July 2022, the Company repurchased 600 shares of stock under the open market
              plan.</span></div>
<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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418388329024">
<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">3 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_InsiderTradingArrLineItems', window );"><strong>Insider Trading Arrangements [Line Items]</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_InsiderTradingArrLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_InsiderTradingArrLineItems</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_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>
</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.1</span><table class="report" border="0" cellspacing="2" id="idm140418477752656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING 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>SIGNIFICANT ACCOUNTING POLICIES [Abstract]</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_UseOfEstimates', window );">Management estimates and reporting</a></td>
<td class="text">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Management estimates and reporting</span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">The preparation of the Company&#8217;s Consolidated Financial Statements in accordance with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;)
            requires the use of estimates that affect the reported value of assets, liabilities, revenues and expenses.&#160; These estimates are based on historical experience and various other factors that are believed to be reasonable under the
            circumstances, the results of which form the basis for the Company&#8217;s conclusions.&#160; The Company continually evaluates the information used to make these estimates as the business and the economic environment changes.&#160; Actual results may differ
            from these estimates, and estimates are subject to change due to modifications in the underlying conditions or assumptions.&#160; The policies discussed below require estimates that contain a significant degree of judgement.&#160; The use of estimates is
            pervasive throughout the Consolidated Financial Statements, but the accounting policies and estimates considered most significant are as follows.</div>
<span></span>
</td>
</tr>
<tr class="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">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Principles of consolidation</span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Our Consolidated Financial Statements include the accounts of Tandy Leather Factory, Inc. and its active wholly-owned subsidiaries, The Leather Factory, L.P. (a
          Texas limited partnership), Tandy Leather Company, L.P. (a Texas limited partnership), The Leather Factory of Canada, Ltd. (a Canadian corporation), and Tandy Leather Factory Espa&#241;a, S.L. (a Spanish corporation).&#160; All intercompany accounts and
          transactions have been eliminated in consolidation.</div>
<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_tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock', window );">Deconsolidation of Foreign Subsidiaries</a></td>
<td class="text">
<div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; text-align: justify; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><span style="text-decoration: underline;">Deconsolidation of
              Foreign Subsidiaries</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; text-align: left;"><span style="text-decoration: underline;"> <br/>
            </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(33, 37, 41); font-style: normal; font-variant: normal; text-transform: none;">The UK and
            Australia entities were legally terminated in 2023 and as a result of the termination, we deconsolidated our UK and Australia entities and the impact of the deconsolidation resulted in a $0.5 million loss that is reported as part of &#8220;Other, net&#8221; on the consolidated statement of operations and comprehensive income.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComparabilityOfPriorYearFinancialData', window );">Correction of an error in previously issued financial statements</a></td>
<td class="text">
<div><span style="font-weight: bold;"><span style="text-decoration: underline;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Correction of an error in previously issued financial statements</span></span><br/>
        </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: bold;"><br/>
          </span> </div>

<div><span style="font-weight: bold;"> </span></div>

<div style="text-align: justify;"><span style="font-weight: bold;"><span style="font-weight: normal;"><span style="font-weight: normal; color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">The 2022 consolidated financial statements included an out of period adjustment that was the result of unreconciled inventory receipts for in-transit inventory, which were identified in the fourth quarter of
                  2022. We corrected misstatements in the first three quarters of fiscal year 2023 as disclosed in our 2022 10-K, we reduced inventory and accounts payable balances by approximately $0.9 million, and adjusted changes to inventory and accounts payable in the operating activities section of the consolidated statements of cash flows by the same
                  amount. There is no impact of this adjustment to the consolidated statements of operations and comprehensive income or retained earnings.</span></span><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
              </span> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span> </div>
<span></span>
</td>
</tr>
<tr class="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 and cash equivalents</a></td>
<td class="text">
<div style="color: rgb(33, 37, 41); font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Cash and cash equivalents</span></div>

<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>

<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;">The Company considers investments with a maturity when purchased of three months or less to be cash equivalents.&#160; All
            credit card, debit card and electronic transfer transactions that process in less than ninety days including our T-Bills are classified as cash and cash equivalents.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy', window );">Accounts receivable and expected credit losses</a></td>
<td class="text">
<div><span style="font-weight: bold;"> </span>
          <span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-weight: bold;"> </span><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"> </span></div>

<div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Accounts receivable and expected credit losses</span></div>

<div><span style="font-weight: bold;"> <span style="font-style: normal;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>

<div><span style="font-weight: bold;"> </span></div>

<div><span style="font-weight: bold;"> </span></div>

<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;">Our receivables primarily arise from the sale of merchandise to customers that have applied for and been granted
              credit.&#160; Accounts receivable are stated at amounts due, net of an allowance for doubtful accounts.&#160; Accounts receivable are generally due within 30 days of invoicing.&#160; Our accounts receivable balance as of December 31, 2023, December 31, 2022
              and January 1, 2022 was $0.3 million, $0.4
              million, and $0.6 million, respectively.</div>

<div><span style="font-weight: normal;"> </span></div>

<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-weight: normal;"><br/>
              </span> </div>

<div><span style="font-weight: normal;"> </span></div>

<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;">We estimate expected credit losses based on factors such as the composition of accounts receivable, the age of the
              accounts, historical bad debt experience, and our evaluation of the financial condition and past collection history of each customer.&#160; Management believes that the historical loss information it has compiled is a reasonable base on which to
              determine expected credit losses for trade receivables held at December 31, 2023, because the composition of the trade receivables at that date is consistent with that used in developing the historical credit-loss percentages (i.e., the
              similar risk characteristics of its customers and its credit practices have not changed significantly over time).&#160; Accordingly, the allowance for expected credit losses at December 31, 2023, December 31, 2022, and January 1, 2022 each totaled
              less than $0.1 million.</div>
<span></span>
</td>
</tr>
<tr class="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 and transactions</a></td>
<td class="text">
<div><span style="font-weight: bold;"> </span>
          <span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-weight: bold;"> </span><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"> </span></div>

<div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Foreign currency translation and transactions</span></div>

<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>

<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;">Foreign currency translation adjustments arise from activities of our foreign
              subsidiaries.&#160; Results of operations are translated into U.S. dollars using the average exchange rates during the period, while assets and liabilities are translated using period-end exchange rates.&#160; Foreign currency translation adjustments
              are recorded in stockholders&#8217; equity, net of tax.&#160; For the years ended December 31, 2023 and 2022, we recorded foreign currency translation gain of $0.4
              million and<span style="font-size: 10pt; font-family: 'Times New Roman';"> loss adjustments of</span> $0.5 million, respectively.<br/>
            </span> </div>

<div><span style="font-weight: normal;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"><br/>
            </span> </div>

<div style="text-align: justify;"> <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">The
              deconsolidation of the UK and Australia entities resulted in a $0.5 million loss reclassification adjustment out of accumulated
              other comprehensive income (loss) which is reported net within the &#8220;Foreign currently translation gain (loss), net&#8221;.</span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"><br/>
          </span> <span style="font-weight: normal;"> </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;"><span style="font-weight: normal;">Gains and losses resulting from foreign currency transactions are recorded in other, net within
                the statements of operations and comprehensive income.</span><br/>
            </span> </div>
<span></span>
</td>
</tr>
<tr class="re">
<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 );">Revenue recognition</a></td>
<td class="text">
<div>
          <span style="font-weight: bold;"> </span></div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Revenue recognition</span></div>

<div><span style="font-weight: bold;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"> </span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"><br/>
            </span> </div>

<div><span style="font-weight: bold;"> </span></div>

<div><span style="font-weight: bold;"> </span></div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;">Our revenue is earned from sales of merchandise and generally occurs via three methods: (1) at the store counter, (2) shipment of product
              generally via web sales, and (3) sales of product directly to commercial customers through our commercial account representatives.&#160; We recognize revenue when we satisfy the performance obligation of transferring control of product merchandise
              over to a customer. At the store counter, our performance obligation is met, and revenue is recognized when a sales transaction occurs with a customer.&#160; Our performance obligation for 2) and 3) are met when merchandise is shipped to a
              customer, and revenue is recognized when control passes to the customer.&#160; Shipping terms are normally free on board (&#8220;FOB&#8221;) shipping point and control passes when the merchandise is shipped to the customer.&#160; Sales tax and comparable foreign
              tax is excluded from net sales, while shipping charged to our customers is included in net sales.&#160; Net sales is based on the amount of consideration that we expect to receive, reduced by estimates for future merchandise returns.&#160; As of
              December 31, 2022, January 1, 2023, and December 31, 2023, we had received approximately $0.3 million, $0.3 million, and $0.3 million in
              credit card payments that had not shipped as of the end of the year and this was recorded in deferred revenue under other liabilities on the Balance Sheet.</div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
            </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">The sales return allowance included in accrued expense and other liabilities was </span>$0.2 million, $0.1 million, and $0.2 million as of December 31, 2023 and 2022 and January 1, 2022 respectively.<span style="font-size: 10pt; font-family: 'Times New Roman';">&#160; The
                estimated value of merchandise expected to be returned included in other current assets was less than $0.1 million</span> as
              of December 31, 2023 and 2022 and January 1, 2022. </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span></div>

<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: justify; white-space: normal; word-spacing: 0px; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">We record a gift card
            liability for the unfulfilled performance obligation on the date we issue a gift card to a customer.&#160; We record revenue and reduce the gift card liability as the customer redeems the gift card.&#160; In addition, for gift card breakage, we recognize
            a proportionate amount for the expected unredeemed gift cards over the expected customer redemption period, which is one year. We
            include our gift card liability in accrued expenses and other liabilities.&#160; On January 1, 2023, the opening balance of the gift card liability was $0.3
            million.&#160; During 2023, we issued $0.5 million of gift cards, and $0.5 million of gift cards were redeemed and recognized as revenue. At December 31, 2023, our gift card liability balance was $0.2 million. On January 1, 2022 and December 31, 2022, the gift card liability was $0.4 and $0.3 million respectively. </span></div>

<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-variant: normal; text-transform: none;"><br/>
          </span></div>

<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-variant: normal; text-transform: none;"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-style: normal; font-weight: bold;"><span style="text-decoration: underline;">Disaggregated revenue</span></span><br/>
          </span> </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-style: italic;"> <br/>
            </span></span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span>
         </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">In the following table, revenue for the years ended December 31, 2023 and 2022 is disaggregated by geographic areas as follows:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">2023<br/>
                  </span> </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">2022<br/>
                  </span> </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">67,696</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">71,665</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Canada</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">7,301</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">7,393</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">1,232</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">1,277</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Net sales</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">76,229</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">80,335</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left;"> <br/>
          </div>

<div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left;">Geographic sales information is based on the location where the order was fulfilled.</div>
<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_tlfa_RevenueRecognitionDiscountsPolicyTextBlock', window );">Discounts</a></td>
<td class="text">
<div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Discounts</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We offer six classes of customer discounts:&#160; 1)
          Retail, 2) Military/First Responder, 3) Business, 4) Commercial, 5) Commercial Pro, and 6) Employees. There are no other classes of discounts and any discounts given will fall into one of these six categories.&#160; Such discounts are not deemed to be variable consideration nor convey a material right to these customers since the discounted pricing they receive in a
          discount class is not incremental to others within the same class and there is no retrospective impact of such discounts.&#160; As a result, sales are reported after deduction of discounts at the point of sale.&#160; We do not pay slotting fees or make
          other payments to resellers.<br/>
        </div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock', window );">Operating expense</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-weight: bold;"><span style="text-decoration: underline;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">Operating&#160;expense</span></span></div>

<div><span style="font-weight: bold;"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Operating expenses include all selling, general and administrative costs, including wages and benefits, rent and occupancy costs, depreciation, advertising, store
          operating expenses, outbound freight charges (to ship merchandise to customers), and corporate office costs.</div>
<span></span>
</td>
</tr>
<tr class="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, net of accumulated depreciation</a></td>
<td class="text">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Property and equipment, net of accumulated depreciation</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Property and equipment are stated at cost.&#160; Depreciation is computed using the straight-line method over the estimated useful lives of the assets, which are <span style="-sec-ix-hidden:Fact_5c4f4734e8fa4f9ab6d9ff25cd28ad7b">three</span> to ten years for equipment and
          machinery, <span style="-sec-ix-hidden:Fact_af8ec3d5fde44ae9a32304dda2a30171">seven</span> to fifteen years
          for furniture and fixtures, five years for vehicles, and forty years for buildings and related improvements.&#160; Leasehold improvements are amortized over the lesser of the life of the lease or the useful life of the asset.&#160; Repairs and maintenance
          costs are expensed as incurred.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventory</a></td>
<td class="text">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Inventory</span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">Inventory is stated at the lower of first-in, first-out (&#8220;FIFO&#8221;) cost or net realizable value, and the FIFO layers are maintained at the location level.&#160; Finished
          goods held for sale include the cost of merchandise purchases, the costs to bring the merchandise to our Texas distribution center, warehousing and handling expenditures, and distributing and delivering merchandise to our stores.&#160; These costs
          include depreciation of long-lived assets utilized in acquiring, warehousing and distributing inventory.&#160; Assembled inventory including raw materials and work-in-process is valued on a first-in, first-out basis using full absorption accounting
          which includes material, labor, and other applicable assembly overhead. &#160;</div>

<div>Carrying values of inventory are analyzed and, to the extent that the cost of inventory exceeds the net realizable value, provisions are made to reduce the carrying amount of the inventory.
        </div>

<div><br/>
        </div>

<div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span></div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">We regularly review all inventory items to determine if
          there are (i) damaged goods (e.g., for leather, excessive scars or damage from ultra-violet (&#8220;UV&#8221;) light), (ii) items that need to be removed from our product line (e.g., slow-moving items, inability of a supplier to provide items of acceptable
          quality or quantity, and to maintain freshness in the product line) and (iii) pricing actions that need to be taken to adequately value our inventory at the lower of cost or net realizable value.&#160; Since the determination of net realizable value
          of inventory involves both estimation and judgement with regard to market values and reasonable costs to sell, differences in these estimates could result in ultimate valuations that differ from the recorded asset.</div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">The majority of inventory purchases and commitments are made in U.S. dollars in order to limit the Company&#8217;s exposure to foreign currency fluctuations.&#160; Goods
          shipped to us are recorded as inventory owned by us when the risk of loss shifts to us from the supplier.</div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Inventory is physically counted twice annually in the Texas distribution center.&#160; At the store level, inventory is physically counted each
          quarter.&#160; Inventory is then adjusted in our accounting system to reflect actual count results.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';">  </span></div>

<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Leases</span></div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
          </span> </div>

<div style="text-align: justify;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;">We lease certain real estate for our retail
            store locations and warehouse equipment for our Texas distribution center, both under long-term lease agreements.&#160; We determine if an arrangement is a lease at inception and recognize right-of-use (&#8220;ROU&#8221;) assets and lease liabilities at
            commencement date based on the present value of the lease payments over the lease term.&#160; We elected not to record leases with an initial term of 12 months or less on the balance sheet for all our asset classes. The depreciable life of related
            leasehold improvements is based on the shorter of the useful life or the lease term.</span> <br/>
        </div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"><br/>
        </div>

<div style="text-align: justify;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;">For operating leases, the present value of
            our lease payments may include: (1) rental payments adjusted for inflation or market rates, and (2) lease terms with options to renew the lease or options to purchase leased equipment, when it is reasonably certain we will exercise such an
            option.&#160; The exercise of lease renewal or purchase option is generally at our discretion.&#160; Payments based on a change in an index or market rate are not considered in the determination of lease payments for purposes of measuring the related
            lease liability.&#160; We discount lease payments using our incremental borrowing rate based on information available as of the measurement date.</span><br/>
        </div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"> <br/>
        </div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">We recognize rent expense related to our operating leases on a straight-line basis over the lease term.&#160; Rent expense is recorded in operating expenses.<br/>
        </div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"> <br/>
        </div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">For finance leases, our right-of-use assets are amortized on a straight-line basis over the earlier of the useful life of the right-of-use asset or the end of the
          lease term with rent expense recorded to operating expenses.&#160; We adjust the lease liability to reflect lease payments made during the period and interest incurred on the lease liability using the effective interest method. The remaining asset
          balance in our finance lease is only residual value and only an insignificant interest expense of less than $100 dollars was incurred
          and is recorded on the consolidated statements of operations and comprehensive income.<br/>
          <br/>
        </div>

<div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';">None of our lease agreements contain material residual value guarantees or material restrictive covenants.&#160; We do not have any contingent rental payment agreements.
          On September 8, 2022, we entered into a concession agreement for our store on the Fort Liberty (formerly Fort Bragg) military base in which the concession payment was based on a sliding scale percentage of sales.&#160; At the end of November, 2023, we
          closed that store. We have no sublease agreements and no lease agreements in which we are named as a lessor.&#160; Refer to Note 4, Leases for further discussion of the Company&#8217;s leases.<br/>
        </div>
<span></span>
</td>
</tr>
<tr class="re">
<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 );">Impairment of long-lived assets</a></td>
<td class="text">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Impairment of long-lived assets</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We evaluate long-lived assets on a quarterly basis to identify events or changes in circumstances (&#8220;triggering events&#8221;) that indicate the carrying value of certain
          assets may not be recoverable.&#160; Upon the occurrence of a triggering event, right-of-use (&#8220;ROU&#8221;) lease assets, property and equipment and definite-lived intangible assets are reviewed for impairment and an impairment loss is recorded in the period
          in which it is determined that the carrying amount of the assets is not recoverable.&#160; The determination of recoverability is made based upon the estimated undiscounted future net cash flows of assets grouped at the lowest level for which there
          are identifiable cash flows independent of the cash flows of other groups of assets with such cash flows to be realized over the estimated remaining useful life of the primary asset within the asset group.&#160; The Company determined the lowest level
          of identifiable cash flows that are independent of other asset groups to be primarily at the individual store level.&#160; If the estimated undiscounted future net cash flows for a given store are less than the carrying amount of the related store
          assets, an impairment loss is determined by comparing the estimated fair value with the carrying value of the related assets.&#160; The impairment loss is then allocated across the asset group&#8217;s major classifications which in this case are operating
          lease assets and property and equipment. Triggering events at the store level could include material declines in operational and financial performance or planned changes in the use of assets, such as store relocation or store closure.&#160; This
          evaluation requires management to make judgements relating to future cash flows, growth rates and economic and market conditions.&#160; The fair value of an asset group is estimated using a discounted cash flow valuation method.<br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For the years ended December 31, 2023 and 2022, no
          impairment expense was recognized.<br/>
        </div>
<span></span>
</td>
</tr>
<tr class="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 );">Earnings per share</a></td>
<td class="text">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Earnings per share</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Basic earnings per share (&#8220;EPS&#8221;) are computed based on the weighted average number of common shares outstanding during the period.&#160; Diluted EPS includes additional
          common shares that would have been outstanding if potential common shares with a dilutive effect, such as stock awards from the Company&#8217;s restricted stock plan, had been issued.&#160; Anti-dilutive securities represent potentially dilutive securities
          which are excluded from the computation of diluted EPS as their impact would be anti-dilutive.&#160; <span style="font-family: 'Times New Roman'; font-size: 10pt; color: rgb(0, 0, 0);">Diluted EPS is computed using the treasury stock method.</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">(in thousands, except share data)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">&#160;</sup><span style="font-family: 'Times New Roman'; font-size: 10pt;">2023 </span></div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">2022<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Numerator:</div>
              </td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Net income<br/>
                  </div>
                </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">3,768</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">1,227</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);"></div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Denominator:</div>
              </td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Basic weighted-average common shares outstanding<br/>
                  </div>
                </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">8,339,658</div>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">8,363,390</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Dilutive effect of service-based restricted stock awards granted to Board of Directors under the Plan</div>
                </div>
              </td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">3,218</div>
                </div>
              </td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">8,735</div>
              </td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">
                <div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); text-align: left;">Dilutive effect of service-based restricted stock awards granted to employees under the Plan</div>
              </td>

    <td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">27,100</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">22,442</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Diluted weighted-average common shares outstanding</div>
              </td>

    <td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">8,369,976</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">8,394,567</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span>(1) For the years ended December 31, 2023 and 2022, there were 65,075 and 90,748 shares,
          respectively, excluded from the diluted EPS calculation because the impact of their assumed vesting would be anti-dilutive.
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For additional disclosures regarding restricted stock awards and employee stock options, see Note 10, <span style="font-style: italic;">Stockholders&#8217; Equity &#8211;
            Equity Compensation Plans</span>.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsFiniteLivedPolicy', window );">Other intangible assets</a></td>
<td class="text">
<div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: bold; text-align: justify; text-transform: none;"><span style="text-decoration: underline;">Other intangible
              assets</span></div>

<div style="font-family: 'Times New Roman'; text-align: justify; font-size: 10pt;"><span style="color: rgb(0, 0, 0);"> <br/>
          </span></div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Our intangible assets and related accumulated amortization relate to trademarks and copyrights that are definite-lived intangibles and are
            subject to amortization.&#160; The weighted average amortization period is<span style="font-family: 'Times New Roman'; font-size: 10pt;"> 15
              years for trademarks and copyrights.&#160; Amortization expense related to other intangible assets was less than $0.01 million in
              each of 2023 and 2022 and was recorded in operating expenses.&#160; Based on the current amount of intangible assets subject to amortization, we estimate amortization expense to be less than $0.01 million annually over the next five years. Our <span style="font-family: 'Times New Roman'; font-size: 10pt;">&#8220;</span>Other intangible assets&#8221; was fully
              amortized as of December 31, 2023 and is now included in &#8220;Other assets&#8221; on the face of the balance sheet.</span></div>
<span></span>
</td>
</tr>
<tr class="ro">
<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">
<div style="font-style: normal; text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Fair value of financial instruments</span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We measure fair value as an exit price, which is the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between
          market participants.&#160; As a basis for considering such assumptions, accounting standards establish a three-tier fair value hierarchy, which prioritizes the inputs used in the valuation methodologies in measuring fair value:</div>

<div><br/></div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;">


  <tr>

    <td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">Level 1 &#8211; observable inputs that reflect quoted prices in active markets for identical assets or liabilities.</div>
              </td>

  </tr>


</table>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;">


  <tr>

    <td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">Level 2 &#8211; significant observable inputs other than quoted prices in active markets for similar assets and liabilities, such as quoted prices for identical or
                  similar assets or liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.</div>
              </td>

  </tr>


</table>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;">


  <tr>

    <td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">Level 3 &#8211; significant unobservable inputs reflecting our own assumptions, consistent with reasonably available assumptions made by other market participants.</div>
              </td>

  </tr>


</table>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify;"> <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;">Classification of the financial asset or
            liability within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement. </span></div>

<div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
          </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Our principal financial instruments consist of our money market investment or T-Bills maturing less than 90 days, accounts receivable, and
            accounts payable.&#160; As of December 31, 2023 and 2022, the carrying values of our financial instruments, included in our Consolidated Balance Sheets, approximated their fair values.&#160; There were no transfers into or out of Levels 1, 2 and 3 during the years ended December 31, 2023 and 2022.</div>
<span></span>
</td>
</tr>
<tr class="re">
<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">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Income taxes</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Income taxes are estimated for each jurisdiction in which we operate.&#160; This involves assessing current tax exposure together with temporary differences resulting
          from differing treatment of items for tax and financial statement accounting purposes.&#160; Any resulting deferred tax assets are evaluated for recoverability based on estimated future taxable income.&#160; To the extent it is more-likely-than-not that
          all or a portion of a deferred tax asset will not be realized, a valuation allowance is recorded.&#160; Our evaluation regarding whether a valuation allowance is required or should be adjusted also considers, among other things, the nature, frequency,
          and severity of recent losses, forecasts of future profitability and the duration of statutory carryforward periods.</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify;">
           <span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Deferred tax assets and liabilities
            are measured using the enacted tax rates in effect in the years when those temporary differences are expected to reverse.&#160; The effect on deferred taxes from a change in tax rate is recognized through continuing operations in the period that
            includes the enactment date of the change.&#160; Changes in tax laws and rates could affect recorded deferred tax assets and liabilities in the future. </span> </div>

<div><br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">A tax benefit from an uncertain tax position may be recognized when it is more-likely-than-not that the position will be sustained upon examination, including
          resolutions of any related appeals or litigation processes, based on the technical merits.&#160; Income tax positions must meet a more-likely-than-not recognition threshold to be recognized.</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgement changes as a result of the evaluation of new information not
          previously available.&#160; Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax liabilities.&#160; These differences will be reflected as
          increases or decreases to income tax expense and the effective tax rate in the period in which new information becomes available.&#160; We recognize interest and/or penalties related to all tax positions in income tax expense. To the extent that
          accrued interest and penalties do not ultimately become payable, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision in the period that such determination is made.</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">We may be subject to periodic audits by the Internal
          Revenue Service and other taxing authorities.&#160; These audits may challenge certain of our tax positions, such as the timing and amount of deductions and allocation of taxable income to the various jurisdictions.</div>
<span></span>
</td>
</tr>
<tr class="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 );">Stock-based compensation</a></td>
<td class="text">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Stock-based compensation</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Company&#8217;s stock-based compensation relates primarily to restricted stock unit (&#8220;RSU&#8221;) awards.&#160; Accounting guidance requires measurement and recognition of
          compensation expense at an amount equal to the grant date fair value.&#160; Compensation expense is recognized for service-based stock awards on a straight-line basis or ratably over the requisite service period, based on the closing price of the
          Company&#8217;s stock on the date of grant.&#160; The service-based awards typically vest ratably over the requisite service period, provided that the participant is employed on the vesting date.&#160; Compensation expense is reduced by actual forfeitures as
          they occur over the requisite service period of the awards.</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Performance-based RSUs vest, if at all, upon the Company satisfying certain performance targets.&#160; The Company records compensation expense for awards with a
          performance condition when it is probable that the condition will be achieved.&#160; If the Company determines it is not probable a performance condition will be achieved, no compensation expense is recognized.&#160; If the Company changes its assessment
          in a subsequent period and concludes it is probable a performance condition will be achieved, the Company will recognize compensation expense ratably between the period of the change in assessment through the expected date of satisfying the
          performance condition for vesting.&#160; If the Company subsequently assesses that it is no longer probable that a performance condition will be achieved, the accumulated expense that has been previously recognized will be reversed.&#160; The compensation
          expense ultimately recognized, if any, related to performance-based awards will equal the grant date fair value based on the number of shares for which the performance condition has been satisfied.&#160; We issue shares from authorized shares upon the
          lapsing of vesting restrictions on RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock', window );">Comprehensive income</a></td>
<td class="text">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Comprehensive income<br/>
          </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Comprehensive income includes net income and certain other items that are recorded directly to stockholders&#8217; equity.&#160; The Company&#8217;s only source of other
            comprehensive income is foreign currency translation adjustments, and those adjustments are presented net of tax.</div>
<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_tlfa_ShippingAndHandlingCostsPolicyTextBlock', window );">Shipping and handling costs</a></td>
<td class="text">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Shipping and handling costs</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">Costs to ship products from our stores to our customers are included in operating expenses on the
              Consolidated Statements of Operations and Comprehensive Income.&#160; Total costs were $3.2 million and $3.5 million for the years ended December 31, 2023, and 2022, respectively.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising</a></td>
<td class="text">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Advertising</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Advertising costs include the cost of print, digital, direct mail, community events, trade shows, and our e-commerce platform.&#160; Advertising costs are expensed as
          incurred.&#160; Total advertising expense was $1.1 million and $1.2 million in 2023 and 2022, respectively.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Recently Adopted Accounting Pronouncements</a></td>
<td class="text">
<div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Recently Adopted Accounting Pronouncements</span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">The Company did not adopt any new accounting guidance that was applicable for the year ended December 31, 2023.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deconsolidation of foreign subsidiaries.</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;">tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_RevenueRecognitionDiscountsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sales discounts.</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;">tlfa_RevenueRecognitionDiscountsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_ShippingAndHandlingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</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;">tlfa_ShippingAndHandlingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_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_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 advertising 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-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_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ComparabilityOfPriorYearFinancialData">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reporting any exceptions to the comparability of prior year financial data with data shown for the most recent accounting 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> -Topic 205<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483478/205-10-45-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_ComparabilityOfPriorYearFinancialData</td>
</tr>
<tr>
<td style="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_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 comprehensive income.</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_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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_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_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_IntangibleAssetsFiniteLivedPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such 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 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://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 (c)<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/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483256/920-350-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483256/920-350-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483256/920-350-50-4<br><br>Reference 6: 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_IntangibleAssetsFiniteLivedPolicy</td>
</tr>
<tr>
<td style="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_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</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 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br><br>Reference 2: 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(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-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_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="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_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 arrangement entered into by lessee.</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 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-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_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_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_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allowance for doubtful accounts for trade and other accounts receivable balances, and when impairments, charge-offs or recoveries are 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 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-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_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy</td>
</tr>
<tr>
<td style="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_SellingGeneralAndAdministrativeExpensesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inclusion of significant items in the selling, general and administrative (or similar) expense report caption.</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> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-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_SellingGeneralAndAdministrativeExpensesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418388971936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING 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>SIGNIFICANT ACCOUNTING POLICIES [Abstract]</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_DisaggregationOfRevenueTableTextBlock', window );">Disaggregated Revenue</a></td>
<td class="text">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span>
         </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">In the following table, revenue for the years ended December 31, 2023 and 2022 is disaggregated by geographic areas as follows:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">2023<br/>
                  </span> </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">2022<br/>
                  </span> </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">67,696</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">71,665</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Canada</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">7,301</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">7,393</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">1,232</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">1,277</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Net sales</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">76,229</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">80,335</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom">&#160;</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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Computation of Basic and Diluted Earnings Per Share</a></td>
<td class="text"><span style="font-family: 'Times New Roman'; font-size: 10pt; color: rgb(0, 0, 0);">Diluted EPS is computed using the treasury stock method.</span>
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </span> </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">(in thousands, except share data)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">&#160;</sup><span style="font-family: 'Times New Roman'; font-size: 10pt;">2023 </span></div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">2022<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Numerator:</div>
              </td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Net income<br/>
                  </div>
                </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">3,768</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">1,227</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);"></div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Denominator:</div>
              </td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Basic weighted-average common shares outstanding<br/>
                  </div>
                </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">8,339,658</div>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">8,363,390</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Dilutive effect of service-based restricted stock awards granted to Board of Directors under the Plan</div>
                </div>
              </td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">3,218</div>
                </div>
              </td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">8,735</div>
              </td>

    <td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom">
                <div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); text-align: left;">Dilutive effect of service-based restricted stock awards granted to employees under the Plan</div>
              </td>

    <td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">27,100</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">22,442</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Diluted weighted-average common shares outstanding</div>
              </td>

    <td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">8,369,976</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">8,394,567</td>

    <td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><br/>
          </span> </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span>(1) For the years ended December 31, 2023 and 2022, there were 65,075 and 90,748 shares,
          respectively, excluded from the diluted EPS calculation because the impact of their assumed vesting would be anti-dilutive.
        </div>
<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_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</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 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-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_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="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_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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418383404448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BALANCE SHEET COMPONENTS (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_DisclosureTextBlockSupplementAbstract', window );"><strong>BALANCE SHEET COMPONENTS [Abstract]</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_srt_ScheduleOfCondensedBalanceSheetTableTextBlock', window );">Inventory, Property and Equipment and Short-term Liabilities</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Inventory</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">On hand:</div>
              </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Finished goods held for sale</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">33,350</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">35,234</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Raw materials and work in process</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">1,774</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">925</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Inventory in transit</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">2,869</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">2,068</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">37,993</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">38,227</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<div><span style="font-weight: bold;"><span style="background-color: rgb(255, 255, 255); font-weight: bold; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Property
            and Equipment</span> </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">Building</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">9,277</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">9,266</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Land</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">1,451</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">1,451</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Leasehold improvements</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">1,875</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">1,870</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Equipment and machinery</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">8,469</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">7,931</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Furniture and fixtures</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">7,452</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">7,471</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Vehicles</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">154</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">135</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">28,678</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">28,124</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Less: accumulated depreciation</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(18,131</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(16,962</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">10,547</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">11,162</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
            </div>

<div><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Our property and equipment, net,
                was located in the following countries: </span></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">United States</div>
                    </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">$</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">10,414</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">$</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">10,989</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">Canada</div>
                    </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">133</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">173</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">Spain</div>
                    </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">-</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">-</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">10,547</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">11,162</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
              </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Depreciation expense was $1.2 million and $1.2 million for the years ended December 31, 2023 and 2022, respectively.</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Short-term Liabilities</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Accrued Expenses and Other Liabilities</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0);">Accrued employee related costs</div>
                </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">992</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">977</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Unearned gift card revenue</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">223</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">256</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Estimated returns</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">523</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">527</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Sales and payroll taxes payable</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">1,141</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">693</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Accrued vendor payables</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">261</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">228</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">3,140</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">2,681</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_srt_ScheduleOfCondensedBalanceSheetTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 condensed balance sheet, including, but not limited to, balance sheets of consolidated entities and consolidation eliminations.</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 Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Subsection 04<br> -Paragraph (a)<br> -Publisher SEC<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 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-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;">srt_ScheduleOfCondensedBalanceSheetTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</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_DisclosureTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418388290208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>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_LeasesAbstract', window );"><strong>LEASES [Abstract]</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_tlfa_LesseeOperatingLeaseAssetsAndLiabilities', window );">Operating Lease Assets and Liabilities</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Additional information regarding the Company&#8217;s operating and finance leases is as follows (in thousands, except for lease term and discount rate information):<br/>
          </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>

<div>
            <table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;">


  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); width: 38%; white-space: nowrap;" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Leases</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); width: 37%; white-space: nowrap;" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Balance Sheet Classification</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                    <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                    <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%;" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Assets:</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0);">Operating</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_b9dfdad94aae4396b495caba99b90ba2"><span style="-sec-ix-hidden:Fact_42175b4cf694408b86a7f31b64515fcc">Operating lease assets</span></span> </div>
                  </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>8,995</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>9,742</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; padding-bottom: 2px;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);">Finance</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; padding-bottom: 2px;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_61204fcbee3a4dc2a55825352cedb41c"><span style="-sec-ix-hidden:Fact_191f13dfd1884c7da7e42218f7e403c9">Financing lease assets</span></span> </div>
                  </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                    <div>23</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                    <div>31</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Total assets</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="font-weight: bold;">$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="font-weight: bold;">9,018</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="font-weight: bold;">$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="font-weight: bold;">9,773</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Liabilities:</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="text-decoration: underline;">Current</span></div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);">Operating</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_55612db32bb54f3b80b4f633e166d69b"><span style="-sec-ix-hidden:Fact_287013327779408883a177a55e96ea11">Current portion of operating lease liabilities</span></span> </div>
                  </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>3,172</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>2,881</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);">Finance</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_f125ff13c8854d999c5e5b95ee4888a9"><span style="-sec-ix-hidden:Fact_1d33cc9a62e44f4d9b50719282b6d98b">Current portion of finance lease liabilities</span></span> </div>
                  </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                    <div>-</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                    <div>15</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="text-decoration: underline;">Non-current</span></div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);">Operating</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_f6c46685d84545a9adea4c3de34eb85d"><span style="-sec-ix-hidden:Fact_6436e527f2fe40cbbec7271dc63c701e">Operating lease liabilities, non-current</span></span> </div>
                  </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                    <div>6,253</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                    <div>7,469</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                    <div style="color: rgb(0, 0, 0);">Finance</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 37%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                    <div style="color: rgb(0, 0, 0);"><span style="-sec-ix-hidden:Fact_ef3fa3de80ef4a7198d64162b5f1a16d"><span style="-sec-ix-hidden:Fact_a6c6da4f95914e30a3b2331184d7a6ee">Finance lease liabilities, non-current</span></span> </div>
                  </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>1</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                    <div>1</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; padding-bottom: 4px;" valign="bottom">
                    <div style="color: rgb(0, 0, 0); font-weight: bold;">Total lease liabilities</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                    <div style="font-weight: normal;">$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                    <div style="font-weight: bold;">9,426</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                    <div style="font-weight: normal;">$</div>
                  </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
                    <div style="font-weight: bold;">10,366</div>
                  </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
          </div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Lease Cost</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%; margin-left: auto; margin-right: auto;">


  <tr>

    <td style="vertical-align: bottom; width: 38%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Lease Cost</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Income Statement Classification</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Operating lease cost</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">3,908</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">3,737</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Operating lease cost</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Impairment expense</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">Short-term lease cost<br/>
                </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td rowspan="1" style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">-</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">38</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Variable lease cost&#160;(1)</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">915</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">797</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td colspan="1" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Amortization of finance lease assets<br/>
                  </div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Operating expenses</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">7</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">7</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Interest on lease liabilities<br/>
                  </div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; padding-bottom: 2px;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Interest expense</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">1</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 38%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Total lease cost</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td style="vertical-align: bottom; width: 37%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom">4,830</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom">4,580</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">(1) Variable lease cost includes payment for certain real
            estate taxes, insurance, common area maintenance, and other charges related to lease agreements, which are not included in the measurement of the operating lease liabilities. </div>
<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Maturity of Lease Liabilities</a></td>
<td class="text">
<div>
           <span style="font-weight: bold;"> </span></div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Maturity of Lease Liabilities</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Operating Leases</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Finance Leases</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2024</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">3,687</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2025</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2,755</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">-<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2026</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2,103</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">- </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2027</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">1,577</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">- </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">2028</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">731</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">- </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Thereafter</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">275</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Total lease payments</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">11,128</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Less:&#160; Interest</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">(1,702</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">)</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">Present value of lease liabilities</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">9,426</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom">-</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<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_tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock', window );">Operating Leases Other Information</a></td>
<td class="text">
<div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
              </div>


              <table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;">


  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-weight: bold;">Other Information</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                      <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">Cash paid for amounts included in the measurement of lease liabilities:</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 75.49%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Operating cash flows used in operating leases</div>
                    </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">$</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">3,955</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">$</div>
                    </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">3,871</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 75.49%; white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Operating cash flows used in finance leases</div>
                    </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">-</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%;" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">1</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 75.49%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                      <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Financing cash flows used in finance leases</div>
                    </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">15</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom">
                      <div style="color: rgb(0, 0, 0);">14</div>
                    </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
               </div>
<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_tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock', window );">Lease Term and Discount Rate</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;">


  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);"><span style="font-weight: bold;">Lease Term and Discount Rate</span></div>
                </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2022</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Weighted-average remaining lease term (years):</div>
                </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Operating leases</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">3.6<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">4.8<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Finance leases</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">0.0<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">0.9<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">Weighted-average discount rate:</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Operating leases</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">4.8<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">%<br/>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">5.0<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">%<br/>
                </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-indent: 9pt;">Finance leases</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">6.0<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">%<br/>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">6.0<br/>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">%<br/>
                </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_tlfa_LesseeOperatingLeaseAssetsAndLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee's operating lease assets and liabilities recognized in the statement of financial position.</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;">tlfa_LesseeOperatingLeaseAssetsAndLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee operating leases lease term and discount rate.</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;">tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 information of operating leases.</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;">tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and 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 50<br> -Paragraph 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_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418389028032">
<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 [Abstract]</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 );">Provision for Income Taxes</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The provision for income taxes consists of the following:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Year Ended December 31,</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Income Tax Benefit<br/>
                </div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Current provision (benefit):</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Federal</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">892</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">16</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">State</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">181</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">41</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Foreign</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">102</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">96</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Related to UTP</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(34</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">28</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">1,141</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">181</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">Deferred provision (benefit):</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">Federal</div>
              </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">(266</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">)</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">-</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: normal; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">State</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">(103</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">)</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">-</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: normal; width: 76%; padding-bottom: 2px;" valign="bottom">Foreign</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">5</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">-</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;" valign="bottom">(364</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;" valign="bottom">)</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;" valign="bottom">-</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Total tax provision (benefit)<br/>
                </div>
              </td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">777</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">181</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</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 );">Income Before Income Taxes</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Income before income taxes was earned in the following tax jurisdictions:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Year Ended December 31,</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Income (Loss) Before Income Taxes</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">United States</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">3,765</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">733</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Spain</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">25</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);"></div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(83</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Canada</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">755</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">758</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);"></div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">4,545</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">1,408</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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 );">Income Tax Effects of Temporary Differences Impacting Deferred Income Tax Assets and Liabilities</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The income tax effects of temporary differences that give rise to significant portions of deferred income tax assets and liabilities are as follows:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Deferred income tax assets:</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Inventory</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">412</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">471</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Stock-based compensation</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">55</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">93</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Accounts receivable</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">8</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">14</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Sales returns</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">49</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">47</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Foreign currency translation gain/loss in OCI</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">512</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">689</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Net operating losses</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">182</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">261</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Accrued expenses</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">170</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">63</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Leases</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">108</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">152</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Total deferred income tax assets</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">1,496</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">1,790</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Less:&#160; valuation allowance</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">(154</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">(1,151</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: normal;">)</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Total deferred income tax assets, net of valuation allowance</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">1,342</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">639</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Property and equipment depreciation</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">471</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">639</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Total deferred income tax liabilities</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">471</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">639</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Net deferred tax asset (liability)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">871</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">-</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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 );">Reconciliation of Effective Tax Rate from Statutory Rate</a></td>
<td class="text"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Below is a reconciliation of our effective tax rate from the statutory rate: </span> </span>
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Year Ended December 31,</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">2023</td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: middle; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Statutory rate &#8211; Federal U.S. income tax</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">21.0</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">21.0</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: middle; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">State and local taxes</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">5.3</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(0.6</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: middle; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Permanent book/tax differences</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">2.4</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">11.3</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: middle; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Change in valuation allowance</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(6.8</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(20.3</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div>Interest on Uncertain Tax Position<br/>
                </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(0.8</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">2.0</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">%</div>
              </td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">Income tax credits<br/>
              </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">(2.3</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">)%</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">-</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: middle; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Other, net</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(1.7</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(0.5</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)%</div>
              </td>

  </tr>

  <tr>

    <td style="vertical-align: middle; width: 76%; padding-bottom: 4px;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Effective rate</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">17.1</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">%</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">12.9</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">%</div>
              </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 );">Reconciliation of Uncertain Tax Positions</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">A reconciliation of the beginning and ending amount of uncertain tax positions (&#8220;UTP&#8221;) is as follows:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2022</div>
                </div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">UTP at beginning of the year</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">450</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">415</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Gross (decrease) increase to tax positions in current period</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(27</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">7</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Interest expense</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(35</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">28</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">UTP at end of year</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">388</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">450</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418480109488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS' EQUITY (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_EquityAbstract', window );"><strong>STOCKHOLDERS' EQUITY [Abstract]</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 );">Activity of Restricted Stock and RSU Awards</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">A summary of the activity for restricted stock and RSU awards is as follows:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td rowspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold;" valign="bottom"> Shares</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold;" valign="bottom"> Weighted Average </td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"> (in thousands) </td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"> Share Price </td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Balance, January 1, 2023</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">441</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">6.46</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Granted</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">290</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">4.25</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Forfeited</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(2</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">5.00</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">Vested</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">(106</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">6.51</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">Balance, December 31, 2023</div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">623</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 4px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); padding-bottom: 4px; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">5.12</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</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_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock', window );">Non-vested, Service-based Stock Awards</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023, there was unrecognized compensation cost related to non-vested, service-based awards of $1.4 million which will be recognized over 3.1 weighted average
          years in each of the following years:</div>

<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="width: 100%; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; margin-left: auto; margin-right: auto;">


  <tr>

    <td colspan="4" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Unrecognized Expense</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 48%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0);">2024 </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);"><br/>
                </div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">571</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 48%; white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0);">2025 </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">468</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 48%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="text-align: center; color: rgb(0, 0, 0);">2026 </div>
              </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0);">314</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 48%; padding-bottom: 2px; text-align: center; white-space: nowrap;" valign="bottom">2027
              </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">7 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: center; width: 48%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
              </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                <div style="color: rgb(0, 0, 0); font-weight: bold;">1,360</div>
              </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityAbstract</td>
</tr>
<tr>
<td style="padding-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_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_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 not yet recognized and weighted-average period over which cost is expected to be 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (i)<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_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock</td>
</tr>
<tr>
<td style="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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418497626208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DESCRIPTION OF BUSINESS (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>Store </div>
<div>Segment</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_tlfa_BusinessDescriptionAbstract', window );"><strong>Description of Business [Abstract]</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_NumberOfStores', window );">Number of stores</a></td>
<td class="nump">102<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of operating segments | Segment</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="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">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_srt_StatementGeographicalAxis=country_US', window );">United States [Member]</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_tlfa_BusinessDescriptionAbstract', window );"><strong>Description of Business [Abstract]</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_NumberOfStores', window );">Number of stores</a></td>
<td class="nump">91<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 [Member]</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_tlfa_BusinessDescriptionAbstract', window );"><strong>Description of Business [Abstract]</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_NumberOfStores', window );">Number of stores</a></td>
<td class="nump">10<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_ES', window );">Spain [Member]</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_tlfa_BusinessDescriptionAbstract', window );"><strong>Description of Business [Abstract]</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_NumberOfStores', window );">Number of stores</a></td>
<td class="nump">1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_BusinessDescriptionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_BusinessDescriptionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</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_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-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_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_NumberOfStores">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stores.</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_NumberOfStores</td>
</tr>
<tr>
<td style="padding-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>instant</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_ES">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ES</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418477710336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Deconsolidation of Foreign Subsidiaries (Details)<br> $ in Millions</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_tlfa_DeconsolidationOfForeignSubsidiariesAbstract', window );"><strong>Deconsolidation of Foreign Subsidiaries [Abstract]</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_DeconsolidationGainOrLossAmount', window );">Loss on deconsolidation</a></td>
<td class="num">$ (0.5)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_DeconsolidationOfForeignSubsidiariesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_DeconsolidationOfForeignSubsidiariesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_DeconsolidationGainOrLossAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deconsolidation of subsidiary and derecognition of group of assets constituting transfer of business or nonprofit activity, excluding conveyance of oil and gas mineral rights and transfer of good or service in contract with customer.</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 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-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_DeconsolidationGainOrLossAmount</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418477673504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Error Correction (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_PriorPeriodAdjustmentAbstract', window );"><strong>Prior Period Adjustments [Abstract]</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_InventoryNet', window );">Inventory</a></td>
<td class="nump">$ 37,993<span></span>
</td>
<td class="nump">$ 38,227<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableTradeCurrent', window );">Accounts Payable</a></td>
<td class="nump">2,333<span></span>
</td>
<td class="nump">$ 3,082<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_RestatementAxis=srt_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember', window );">Prior Period Adjustment [Member]</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_PriorPeriodAdjustmentAbstract', window );"><strong>Prior Period Adjustments [Abstract]</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_InventoryNet', window );">Inventory</a></td>
<td class="num">(900)<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_AccountsPayableTradeCurrent', window );">Accounts Payable</a></td>
<td class="num">$ (900)<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_AccountsPayableTradeCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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://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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-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_AccountsPayableTradeCurrent</td>
</tr>
<tr>
<td style="padding-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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or 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://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 (b)<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<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_InventoryNet</td>
</tr>
<tr>
<td style="padding-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_PriorPeriodAdjustmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PriorPeriodAdjustmentAbstract</td>
</tr>
<tr>
<td style="padding-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_RestatementAxis=srt_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestatementAxis=srt_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418390193472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Accounts Receivable and Expected Credit Losses (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>
<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_tlfa_AccountsReceivableAndExpectedCreditLossesAbstract', window );"><strong>Accounts Receivable and Expected Credit Losses [Abstract]</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_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 264<span></span>
</td>
<td class="nump">$ 370<span></span>
</td>
<td class="nump">$ 600<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 [Member]</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_tlfa_AccountsReceivableAndExpectedCreditLossesAbstract', window );"><strong>Accounts Receivable and Expected Credit Losses [Abstract]</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_AllowanceForDoubtfulAccountsReceivable', window );">Allowance for expected credit losses</a></td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_AccountsReceivableAndExpectedCreditLossesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_AccountsReceivableAndExpectedCreditLossesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_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_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</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 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<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 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 3: 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 4: 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><br>Reference 5: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 6: 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 (f)<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_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-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_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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387684352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Foreign Currency Translation and Transactions (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_ForeignCurrencyTransactionGainLossBeforeTaxAbstract', window );"><strong>Foreign currency translation and transactions [Abstract]</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_DeconsolidationGainOrLossAmount', window );">Loss on deconsolidation</a></td>
<td class="num">$ (0.5)<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 [Member]</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_ForeignCurrencyTransactionGainLossBeforeTaxAbstract', window );"><strong>Foreign currency translation and transactions [Abstract]</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_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax', window );">Foreign currency translation loss adjustments net of tax change (benefit)</a></td>
<td class="nump">$ 0.4<span></span>
</td>
<td class="num">$ (0.5)<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_DeconsolidationGainOrLossAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deconsolidation of subsidiary and derecognition of group of assets constituting transfer of business or nonprofit activity, excluding conveyance of oil and gas mineral rights and transfer of good or service in contract with customer.</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 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-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_DeconsolidationGainOrLossAmount</td>
</tr>
<tr>
<td style="padding-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_ForeignCurrencyTransactionGainLossBeforeTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ForeignCurrencyTransactionGainLossBeforeTaxAbstract</td>
</tr>
<tr>
<td style="padding-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_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax expense (benefit), after 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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-12<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 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481956/830-20-45-5<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 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-21<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax</td>
</tr>
<tr>
<td style="padding-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_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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387171216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Revenue Recognition (Details) - USD ($)<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></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_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue recognition [Abstract]</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_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss', window );">Sales return allowance</a></td>
<td class="nump">$ 200<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">$ 200<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_tlfa_GiftCardRedemptionPeriod', window );">Gift card redemption period</a></td>
<td class="text">1 year<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_tlfa_ContractWithCustomerLiabilityForGiftCardsIssued', window );">Gift cards issued</a></td>
<td class="nump">$ 500<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_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized from redemption of gift cards</a></td>
<td class="nump">500<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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregated revenue [Abstract]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">76,229<span></span>
</td>
<td class="nump">80,335<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_BalanceSheetLocationAxis=us-gaap_OtherLiabilitiesMember', window );">Other Liabilities [Member]</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_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue recognition [Abstract]</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_DeferredRevenue', window );">Credit card payments recorded as deferred revenue</a></td>
<td class="nump">300<span></span>
</td>
<td class="nump">300<span></span>
</td>
<td class="nump">300<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_AccountsPayableAndAccruedLiabilitiesMember', window );">Accounts Expenses and Other Liabilities [Member]</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_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue recognition [Abstract]</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_ContractWithCustomerLiability', window );">Contract with customer liability</a></td>
<td class="nump">200<span></span>
</td>
<td class="nump">300<span></span>
</td>
<td class="nump">400<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 [Member]</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregated revenue [Abstract]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">67,696<span></span>
</td>
<td class="nump">71,665<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_CA', window );">Canada [Member]</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregated revenue [Abstract]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">7,301<span></span>
</td>
<td class="nump">7,393<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=tlfa_OtherCountriesMember', window );">Other [Member]</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregated revenue [Abstract]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">1,232<span></span>
</td>
<td class="nump">1,277<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 [Member]</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_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue recognition [Abstract]</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_InventoryMerchandiseExpectedToBeReturned', window );">Estimate of merchandise expected to be returned</a></td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_ContractWithCustomerLiabilityForGiftCardsIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 obligation to transfer good or service to customer for which consideration has been received or is receivable recorded during the current reporting period, related to the Company's liability for outstanding gift cards. Retail customers purchase gift cards or gift certificates that can be redeemed at a later date for merchandise or services.</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;">tlfa_ContractWithCustomerLiabilityForGiftCardsIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_GiftCardRedemptionPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 customer gift card redemption period, 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;">tlfa_GiftCardRedemptionPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_InventoryMerchandiseExpectedToBeReturned">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of merchandise or supplies to which the entity expected returns 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;">tlfa_InventoryMerchandiseExpectedToBeReturned</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of 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/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 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 3: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 4: 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 (f)<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_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 obligation to transfer good or 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/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<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 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-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_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</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 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-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_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-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_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_DisaggregationOfRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisaggregationOfRevenueAbstract</td>
</tr>
<tr>
<td style="padding-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_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</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 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<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 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<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 (a)<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 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<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 (b)<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 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 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> -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 9: 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 10: 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 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<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/2147479806/606-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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-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_BalanceSheetLocationAxis=us-gaap_OtherLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherLiabilitiesMember</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_AccountsPayableAndAccruedLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsPayableAndAccruedLiabilitiesMember</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_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=tlfa_OtherCountriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tlfa_OtherCountriesMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418389220368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Discounts (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>Discount</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_tlfa_DiscountsAbstract', window );"><strong>Discounts [Abstract]</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_tlfa_NumberOfClassesOfCustomerDiscounts', window );">Number of classes of customer discounts</a></td>
<td class="nump">6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_DiscountsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_DiscountsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_NumberOfClassesOfCustomerDiscounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 classes of customer discounts.</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;">tlfa_NumberOfClassesOfCustomerDiscounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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>
</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.1</span><table class="report" border="0" cellspacing="2" id="idm140418389384608">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Property and Equipment, Net of Accumulated Depreciation (Details)<br></strong></div></th>
<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_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Equipment and Machinery [Member] | Minimum [Member]</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_PropertyPlantAndEquipmentNetAbstract', window );"><strong>Property and equipment, net of accumulated depreciation [Abstract]</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of assets</a></td>
<td class="text">3 years<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_MachineryAndEquipmentMember', window );">Equipment and Machinery [Member] | Maximum [Member]</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_PropertyPlantAndEquipmentNetAbstract', window );"><strong>Property and equipment, net of accumulated depreciation [Abstract]</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of assets</a></td>
<td class="text">10 years<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 Fixtures [Member] | Minimum [Member]</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_PropertyPlantAndEquipmentNetAbstract', window );"><strong>Property and equipment, net of accumulated depreciation [Abstract]</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of assets</a></td>
<td class="text">7 years<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 Fixtures [Member] | Maximum [Member]</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_PropertyPlantAndEquipmentNetAbstract', window );"><strong>Property and equipment, net of accumulated depreciation [Abstract]</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of assets</a></td>
<td class="text">15 years<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_VehiclesMember', window );">Vehicles [Member]</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_PropertyPlantAndEquipmentNetAbstract', window );"><strong>Property and equipment, net of accumulated depreciation [Abstract]</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of assets</a></td>
<td class="text">5 years<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_BuildingAndBuildingImprovementsMember', window );">Buildings and Related Improvements [Member]</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_PropertyPlantAndEquipmentNetAbstract', window );"><strong>Property and equipment, net of accumulated depreciation [Abstract]</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of assets</a></td>
<td class="text">40 years<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_PropertyPlantAndEquipmentNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentNetAbstract</td>
</tr>
<tr>
<td style="padding-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_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MachineryAndEquipmentMember</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_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_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VehiclesMember</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_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BuildingAndBuildingImprovementsMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418389044432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Leases (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="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 [Member]</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_LeasesAbstract', window );"><strong>Leases [Abstract]</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_FinanceLeaseInterestExpense', window );">Remaining finance leases interest expense</a></td>
<td class="nump">$ 100<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_FinanceLeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 on finance 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/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 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: 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 (a)<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_FinanceLeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-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_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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418383552912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Impairment of Long-lived 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_AssetImpairmentChargesAbstract', window );"><strong>Impairment of long-lived assets [Abstract]</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_ImpairmentOfLongLivedAssetsHeldForUse', window );">Impairment losses</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<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_AssetImpairmentChargesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AssetImpairmentChargesAbstract</td>
</tr>
<tr>
<td style="padding-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_ImpairmentOfLongLivedAssetsHeldForUse">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale).</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> -Topic 360<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/2147482099/360-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482130/360-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_ImpairmentOfLongLivedAssetsHeldForUse</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418477866864">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Earnings 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_NetIncomeLossAbstract', window );"><strong>Numerator [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 3,768<span></span>
</td>
<td class="nump">$ 1,227<span></span>
</td>
</tr>
<tr class="re">
<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>Denominator [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic weighted-average common shares outstanding (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">8,339,658<span></span>
</td>
<td class="nump">8,363,390<span></span>
</td>
</tr>
<tr class="re">
<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 weighted-average common shares outstanding (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">8,369,976<span></span>
</td>
<td class="nump">8,394,567<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares', window );">Shares excluded from the diluted EPS calculation (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">65,075<span></span>
</td>
<td class="nump">90,748<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_RestrictedStockMember', window );">Restricted Stock [Member] | Board of Directors [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Denominator [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of service-based restricted stock awards granted (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">3,218<span></span>
</td>
<td class="nump">8,735<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_RestrictedStockMember', window );">Restricted Stock [Member] | Employees [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Denominator [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of service-based restricted stock awards granted (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">27,100<span></span>
</td>
<td class="nump">22,442<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">For the years ended December 31, 2023 and 2022, there were 65,075 and 90,748 shares,
          respectively, excluded from the diluted EPS calculation because the impact of their assumed vesting would be anti-dilutive.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of contingently issuable shares. Contingently issuable shares are those shares that are issuable for little or no cash contingent on certain conditions being met.</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 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-26<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 44<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-44<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 51<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-51<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-52<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-53<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 54<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-54<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 48<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-48<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 48<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-48<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares</td>
</tr>
<tr>
<td style="padding-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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</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 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480454/718-10-45-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 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-28A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-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_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_NetIncomeLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NetIncomeLossAbstract</td>
</tr>
<tr>
<td style="padding-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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockMember</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_ShareBasedPaymentArrangementEmployeeMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418481082640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Other 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="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 [Member]</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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Other Intangible Assets [Abstract]</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 of intangible assets (excluding goodwill)</a></td>
<td class="nump">$ 10<span></span>
</td>
<td class="nump">$ 10<span></span>
</td>
</tr>
<tr class="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 );">Amortization expense, 2024</a></td>
<td class="nump">10<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 );">Amortization expense, 2025</a></td>
<td class="nump">10<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 );">Amortization expense, 2026</a></td>
<td class="nump">10<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 );">Amortization expense, 2027</a></td>
<td class="nump">10<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 );">Amortization expense, 2028</a></td>
<td class="nump">$ 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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_IntellectualPropertyMember', window );">Trademarks/Copyrights [Member]</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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Other Intangible Assets [Abstract]</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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted average amortization period</a></td>
<td class="text">15 years<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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization period of finite-lived intangible assets acquired either individually or as part of a group of 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>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 1<br> -Subparagraph (a)(3)<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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-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_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_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_FiniteLivedIntangibleAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FiniteLivedIntangibleAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-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_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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_IntellectualPropertyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IntellectualPropertyMember</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.1</span><table class="report" border="0" cellspacing="2" id="idm140418390085024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Fair Value of Financial Instruments (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_tlfa_FairValueOfFinancialInstrumentsAbstract', window );"><strong>Fair value of financial instruments [Abstract]</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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet', window );">Transfers into (out of) Level 3</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_FairValueOfFinancialInstrumentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_FairValueOfFinancialInstrumentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 transfer of financial instrument classified as an asset into (out of) level 3 of the fair value hierarchy.</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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387110368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Shipping and Handling Costs (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_tlfa_ShippingAndHandlingCostsAbstract', window );"><strong>Shipping and handling costs [Abstract]</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_OperatingCostsAndExpenses', window );">Operating expenses</a></td>
<td class="nump">$ 40,753<span></span>
</td>
<td class="nump">$ 45,109<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_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember', window );">Shipping and Handling [Member]</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_tlfa_ShippingAndHandlingCostsAbstract', window );"><strong>Shipping and handling costs [Abstract]</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_OperatingCostsAndExpenses', window );">Operating expenses</a></td>
<td class="nump">$ 3,200<span></span>
</td>
<td class="nump">$ 3,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_ShippingAndHandlingCostsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_ShippingAndHandlingCostsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_OperatingCostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Excludes Selling, General and Administrative 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_OperatingCostsAndExpenses</td>
</tr>
<tr>
<td style="padding-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_srt_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418383608000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES, Advertising (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_MarketingAndAdvertisingExpenseAbstract', window );"><strong>Advertising [Abstract]</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_AdvertisingExpense', window );">Advertising expense</a></td>
<td class="nump">$ 1.1<span></span>
</td>
<td class="nump">$ 1.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_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</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 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-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_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-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_MarketingAndAdvertisingExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MarketingAndAdvertisingExpenseAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387718448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BALANCE SHEET COMPONENTS, Inventory, Property and Equipment (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_InventoryNetAbstract', window );"><strong>Inventory on hand [Abstract]</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_InventoryFinishedGoods', window );">Finished goods held for sale</a></td>
<td class="nump">$ 33,350<span></span>
</td>
<td class="nump">$ 35,234<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessAndRawMaterials', window );">Raw materials and work in process</a></td>
<td class="nump">1,774<span></span>
</td>
<td class="nump">925<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherInventoryInTransit', window );">Inventory in transit</a></td>
<td class="nump">2,869<span></span>
</td>
<td class="nump">2,068<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_InventoryNet', window );">Total inventory</a></td>
<td class="nump">37,993<span></span>
</td>
<td class="nump">38,227<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Property and Equipment [Abstract]</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_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">28,678<span></span>
</td>
<td class="nump">28,124<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: accumulated depreciation</a></td>
<td class="num">(18,131)<span></span>
</td>
<td class="num">(16,962)<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_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">10,547<span></span>
</td>
<td class="nump">11,162<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">1,200<span></span>
</td>
<td class="nump">1,200<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 [Member]</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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Property and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#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_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">10,414<span></span>
</td>
<td class="nump">10,989<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 [Member]</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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Property and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<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_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">133<span></span>
</td>
<td class="nump">173<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_ES', window );">Spain [Member]</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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Property and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#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_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</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_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Building [Member]</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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Property and Equipment [Abstract]</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_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">9,277<span></span>
</td>
<td class="nump">9,266<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_LandMember', window );">Land [Member]</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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Property and Equipment [Abstract]</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_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">1,451<span></span>
</td>
<td class="nump">1,451<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 [Member]</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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Property and Equipment [Abstract]</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_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">1,875<span></span>
</td>
<td class="nump">1,870<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_MachineryAndEquipmentMember', window );">Equipment and Machinery [Member]</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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Property and Equipment [Abstract]</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_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">8,469<span></span>
</td>
<td class="nump">7,931<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 Fixtures [Member]</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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Property and Equipment [Abstract]</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_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">7,452<span></span>
</td>
<td class="nump">7,471<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_VehiclesMember', window );">Vehicles [Member]</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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Property and Equipment [Abstract]</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_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 154<span></span>
</td>
<td class="nump">$ 135<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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, depletion and amortization for physical assets used in the normal conduct of business to produce goods and 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 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<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 360<br> -SubTopic 10<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</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 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<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_Depreciation</td>
</tr>
<tr>
<td style="padding-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_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or 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(6)(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_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or 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://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 (b)<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<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_InventoryNet</td>
</tr>
<tr>
<td style="padding-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_InventoryNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InventoryNetAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryWorkInProcessAndRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying amount as of the balance sheet date of items held by the entity which are partially completed at the time of measurement and unprocessed items that will go through the production process and become part of the final product. Includes supplies used directly or indirectly in the manufacturing or production process. This element may be used when the reporting entity combines work in process and raw materials into an aggregate amount.</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(6))<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_InventoryWorkInProcessAndRawMaterials</td>
</tr>
<tr>
<td style="padding-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_OtherInventoryInTransit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of merchandise or supplies to which the entity holds the title but does not hold physical possession because the goods are currently being transported.</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(6)(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_OtherInventoryInTransit</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</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)(8))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentNetByTypeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentNetByTypeAbstract</td>
</tr>
<tr>
<td style="padding-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_ES">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ES</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_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BuildingMember</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_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LandMember</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_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MachineryAndEquipmentMember</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_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VehiclesMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418477782304">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>BALANCE SHEET COMPONENTS, Short-term 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_AccruedLiabilitiesAndOtherLiabilitiesAbstract', window );"><strong>Accrued Expenses and Other Liabilities [Abstract]</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_EmployeeRelatedLiabilitiesCurrent', window );">Accrued employee related costs</a></td>
<td class="nump">$ 992<span></span>
</td>
<td class="nump">$ 977<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_tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards', window );">Unearned gift card revenue</a></td>
<td class="nump">223<span></span>
</td>
<td class="nump">256<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_tlfa_ExpectedMerchandiseReturns', window );">Estimated returns</a></td>
<td class="nump">523<span></span>
</td>
<td class="nump">527<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_tlfa_SalesAndPayrollTaxesPayable', window );">Sales and payroll taxes payable</a></td>
<td class="nump">1,141<span></span>
</td>
<td class="nump">693<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_tlfa_AccruedVendorPayablesCurrent', window );">Accrued vendor payables</a></td>
<td class="nump">261<span></span>
</td>
<td class="nump">228<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_AccruedLiabilitiesAndOtherLiabilities', window );">TOTAL</a></td>
<td class="nump">$ 3,140<span></span>
</td>
<td class="nump">$ 2,681<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_AccruedVendorPayablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to vendor. 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>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;">tlfa_AccruedVendorPayablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the liability for outstanding gift cards. Retail customers purchase gift cards or gift certificates that can be redeemed at a later date for merchandise or services; those unredeemed represent a liability of the entity because the revenue is being deferred.</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;">tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_ExpectedMerchandiseReturns">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying value as of the balance sheet date of the liability for expected merchandise returns.</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;">tlfa_ExpectedMerchandiseReturns</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_SalesAndPayrollTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to the carrying amount of sales and payroll taxes payable 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;">tlfa_SalesAndPayrollTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_AccruedLiabilitiesAndOtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 incurred but not yet paid nor invoiced, and liabilities classified as 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;">us-gaap_AccruedLiabilitiesAndOtherLiabilities</td>
</tr>
<tr>
<td style="padding-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_AccruedLiabilitiesAndOtherLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccruedLiabilitiesAndOtherLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_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>
</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.1</span><table class="report" border="0" cellspacing="2" id="idm140418388057392">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>LEASES, Lease Assets, Liabilities and Lease 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_AssetsAbstract', window );"><strong>Assets [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_OperatingLeaseRightOfUseAsset', window );">Operating lease assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 8,995<span></span>
</td>
<td class="nump">$ 9,742<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">Operating lease assets<span></span>
</td>
<td class="text">Operating lease assets<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Financing lease assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">$ 31<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">Financing lease assets<span></span>
</td>
<td class="text">Financing lease assets<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_tlfa_LeaseAssets', window );">Total assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 9,018<span></span>
</td>
<td class="nump">$ 9,773<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_OperatingLeaseCurrentLiabilityAbstract', window );"><strong>Current [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_OperatingLeaseLiabilityCurrent', window );">Current portion of operating lease liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 3,172<span></span>
</td>
<td class="nump">$ 2,881<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">Current portion of operating lease liabilities<span></span>
</td>
<td class="text">Current portion of operating lease liabilities<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Current portion of finance lease liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 15<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">Current portion of finance lease liabilities<span></span>
</td>
<td class="text">Current portion of finance lease liabilities<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_OperatingLeaseNonCurrentLiabilityAbstract', window );"><strong>Noncurrent [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, non-current</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 6,253<span></span>
</td>
<td class="nump">$ 7,469<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">Operating lease liabilities, non-current<span></span>
</td>
<td class="text">Operating lease liabilities, non-current<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Finance lease liabilities, non-current</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">Finance lease liabilities, non-current<span></span>
</td>
<td class="text">Finance lease liabilities, non-current<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_tlfa_LeaseLiabilities', window );">Total lease liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 9,426<span></span>
</td>
<td class="nump">$ 10,366<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostAbstract', window );"><strong>Lease Cost [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_OperatingLeaseImpairmentLoss', window );">Operating lease asset impairment expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<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_tlfa_FinanceLeaseCostsAbstract', window );"><strong>Finance [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_LeaseCost', window );">Total lease cost</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,830<span></span>
</td>
<td class="nump">4,580<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 [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_tlfa_FinanceLeaseCostsAbstract', window );"><strong>Finance [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_FinanceLeaseInterestExpense', window );">Interest on lease liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">100<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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member', window );">ASU 2016-02 [Member] | Maximum [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_LeaseCostAbstract', window );"><strong>Lease Cost [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_OperatingLeaseImpairmentLoss', window );">Operating lease asset impairment expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<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_us-gaap_IncomeStatementLocationAxis=us-gaap_OperatingExpenseMember', window );">Operating Expenses [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_LeaseCostAbstract', window );"><strong>Lease Cost [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,908<span></span>
</td>
<td class="nump">3,737<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermLeaseCost', window );">Short-term lease cost</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">38<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_VariableLeaseCost', window );">Variable lease cost</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">915<span></span>
</td>
<td class="nump">797<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_FinanceLeaseCostsAbstract', window );"><strong>Finance [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_FinanceLeaseRightOfUseAssetAmortization', window );">Amortization of finance lease assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7<span></span>
</td>
<td class="nump">7<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_IncomeStatementLocationAxis=tlfa_ImpairmentExpenseMember', window );">Impairment Expense [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_LeaseCostAbstract', window );"><strong>Lease Cost [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_us-gaap_IncomeStatementLocationAxis=us-gaap_InterestExpenseMember', window );">Interest Expense [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_tlfa_FinanceLeaseCostsAbstract', window );"><strong>Finance [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_FinanceLeaseInterestExpense', window );">Interest on lease liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Variable lease cost includes payment for certain real
            estate taxes, insurance, common area maintenance, and other charges related to lease agreements, which are not included in the measurement of the operating lease liabilities.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_FinanceLeaseCostsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_FinanceLeaseCostsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_LeaseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease assets consisting of operating and finance lease as on 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;">tlfa_LeaseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_LeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease liabilities consisting of operating and finance lease as on 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;">tlfa_LeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_OperatingLeaseCurrentLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_OperatingLeaseCurrentLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_OperatingLeaseNonCurrentLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_OperatingLeaseNonCurrentLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_AssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AssetsAbstract</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 on finance 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/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 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: 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 (a)<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_FinanceLeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financial position that includes current finance 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> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-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_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="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>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_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financial position that includes noncurrent finance 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> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-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_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="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>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_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization, of 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/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_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseRightOfUseAssetAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 attributable to 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/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 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: 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 (a)<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_FinanceLeaseRightOfUseAssetAmortization</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financial position that includes 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/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-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_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="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>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_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease cost recognized by lessee for lease contract.</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> -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_LeaseCost</td>
</tr>
<tr>
<td style="padding-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_LeaseCostAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeaseCostAbstract</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</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 (b)<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_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 impairment of right-of-use asset 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/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479365/842-20-25-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_OperatingLeaseImpairmentLoss</td>
</tr>
<tr>
<td style="padding-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_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_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financial position that includes current 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> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-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_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="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>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_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financial position that includes noncurrent 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> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-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_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="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>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_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financial position that includes operating 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/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-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_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="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>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_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease cost, excluding expense for lease with term of one month or less.</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 (c)<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_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-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_VariableLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.</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 (d)<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_VariableLeaseCost</td>
</tr>
<tr>
<td style="padding-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_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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member</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_IncomeStatementLocationAxis=us-gaap_OperatingExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_OperatingExpenseMember</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_IncomeStatementLocationAxis=tlfa_ImpairmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=tlfa_ImpairmentExpenseMember</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_IncomeStatementLocationAxis=us-gaap_InterestExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_InterestExpenseMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418390713936">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASES, Maturity of Lease Liabilities (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_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Maturity of Operating Lease Liabilities [Abstract]</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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 3,687<span></span>
</td>
</tr>
<tr class="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">2,755<span></span>
</td>
</tr>
<tr class="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">2,103<span></span>
</td>
</tr>
<tr class="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,577<span></span>
</td>
</tr>
<tr class="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">731<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">275<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">11,128<span></span>
</td>
</tr>
<tr class="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,702)<span></span>
</td>
</tr>
<tr class="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 );">Present value of lease liabilities</a></td>
<td class="nump">9,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_FinanceLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Maturities of Finance Lease Liabilities [Abstract]</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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></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_FinanceLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour', window );">2027</a></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_FinanceLeaseLiabilityPaymentsDueYearFive', window );">2028</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">0<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_FinanceLeaseLiabilityPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount', window );">Less: Interest</a></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_FinanceLeaseLiability', window );">Present value of lease liabilities</a></td>
<td class="nump">$ 0<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_FinanceLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/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><br>Reference 2: 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_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for 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/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_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease to be paid after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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_FinanceLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/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_FinanceLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-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_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_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OperatingLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-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_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>
</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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387582544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES, Operating Leases Other 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_tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract', window );"><strong>Cash Paid for Amounts Included in the Measurement of Lease Liabilities [Abstract]</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_OperatingLeasePayments', window );">Operating cash flows used in operating leases</a></td>
<td class="nump">$ 3,955<span></span>
</td>
<td class="nump">$ 3,871<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseInterestPaymentOnLiability', window );">Operating cash flows used in finance leases</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeasePrincipalPayments', window );">Financing cash flows used in finance leases</a></td>
<td class="nump">$ 15<span></span>
</td>
<td class="nump">$ 14<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_FinanceLeaseInterestPaymentOnLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid on finance 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> -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><br>Reference 2: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-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_FinanceLeaseInterestPaymentOnLiability</td>
</tr>
<tr>
<td style="padding-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_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for principal payment on 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/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><br>Reference 2: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-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_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-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_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>
</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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387116432">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASES, Lease Term and Discount Rate (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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_WeightedAverageRemainingLeaseTermAbstract', window );"><strong>Weighted-Average Remaining Lease Term (Years) [Abstract]</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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating leases</a></td>
<td class="text">3 years 7 months 6 days<span></span>
</td>
<td class="text">4 years 9 months 18 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1', window );">Finance leases</a></td>
<td class="text">0 years<span></span>
</td>
<td class="text">10 months 24 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_tlfa_WeightedAverageDiscountRateAbstract', window );"><strong>Weighted-Average Discount Rate [Abstract]</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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Operating leases</a></td>
<td class="nump">4.80%<span></span>
</td>
<td class="nump">5.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_FinanceLeaseWeightedAverageDiscountRatePercent', window );">Finance leases</a></td>
<td class="nump">6.00%<span></span>
</td>
<td class="nump">6.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_WeightedAverageDiscountRateAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_WeightedAverageDiscountRateAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_WeightedAverageRemainingLeaseTermAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_WeightedAverageRemainingLeaseTermAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_FinanceLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="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_FinanceLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-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_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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418389458656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NOTES PAYABLE AND LONG-TERM DEBT (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Jan. 03, 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_us-gaap_LineOfCreditFacilityAxis=tlfa_JPMorganChaseBankNAMember', window );">JP Morgan Chase Bank, N.A. [Member]</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_DebtInstrumentsAbstract', window );"><strong>Debt Instruments [Abstract]</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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,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_ProceedsFromLinesOfCredit', window );">Line of credit facility, funds borrowed</a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_DebtInstrumentAxis=tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember', window );">Institute of Official Credit Guarantee for Small and Medium-sized Enterprises [Member]</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_DebtInstrumentsAbstract', window );"><strong>Debt Instruments [Abstract]</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_ProceedsFromIssuanceOfLongTermDebt', window );">Proceeds from long-term debt</a></td>
<td class="nump">$ 400,000<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_DebtInstrumentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentsAbstract</td>
</tr>
<tr>
<td style="padding-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_ProceedsFromIssuanceOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inflow from a debt initially having maturity due after one year or beyond the 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)(1))<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 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-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_ProceedsFromIssuanceOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-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_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</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><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 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-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_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-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_LineOfCreditFacilityAxis=tlfa_JPMorganChaseBankNAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=tlfa_JPMorganChaseBankNAMember</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_DebtInstrumentAxis=tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418480858672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EMPLOYEE BENEFIT AND SAVINGS PLANS (Details) - 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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitExpenseAbstract', window );"><strong>Pension and Other Postretirement Benefits Cost [Abstract]</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_DefinedContributionPlanCostRecognized', window );">Defined contribution plan, employer match expense</a></td>
<td class="nump">$ 300,000<span></span>
</td>
<td class="nump">$ 300,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_DefinedContributionPlanEmployerDiscretionaryContributionAmount', window );">Employer discretionary contribution amount</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_us-gaap_RetirementPlanTypeAxis=tlfa_OneHundredPercentContributionMember', window );">100% Contribution [Member]</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_PensionAndOtherPostretirementBenefitExpenseAbstract', window );"><strong>Pension and Other Postretirement Benefits Cost [Abstract]</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_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch', window );">Employer matching contribution, percentage of match</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.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_DefinedContributionPlanEmployerMatchingContributionPercent', window );">Employer matching contribution, percentage of eligible earnings contributed by employees</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="nump">3.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_us-gaap_RetirementPlanTypeAxis=tlfa_FiftyPercentContributionMember', window );">50% Contribution [Member]</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_PensionAndOtherPostretirementBenefitExpenseAbstract', window );"><strong>Pension and Other Postretirement Benefits Cost [Abstract]</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_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch', window );">Employer matching contribution, percentage of match</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="nump">50.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_DefinedContributionPlanEmployerMatchingContributionPercent', window );">Employer matching contribution, percentage of eligible earnings contributed by employees</a></td>
<td class="nump">2.00%<span></span>
</td>
<td class="nump">2.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_DefinedContributionPlanCostRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 defined contribution 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanCostRecognized</td>
</tr>
<tr>
<td style="padding-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_DefinedContributionPlanEmployerDiscretionaryContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 discretionary contributions made by an employer to a 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_DefinedContributionPlanEmployerDiscretionaryContributionAmount</td>
</tr>
<tr>
<td style="padding-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_DefinedContributionPlanEmployerMatchingContributionPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employees' gross pay for which the employer contributes a matching contribution to a 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_DefinedContributionPlanEmployerMatchingContributionPercent</td>
</tr>
<tr>
<td style="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_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employer matches of the employee's percentage contribution matched.</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_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch</td>
</tr>
<tr>
<td style="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_PensionAndOtherPostretirementBenefitExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PensionAndOtherPostretirementBenefitExpenseAbstract</td>
</tr>
<tr>
<td style="padding-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_RetirementPlanTypeAxis=tlfa_OneHundredPercentContributionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RetirementPlanTypeAxis=tlfa_OneHundredPercentContributionMember</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_RetirementPlanTypeAxis=tlfa_FiftyPercentContributionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RetirementPlanTypeAxis=tlfa_FiftyPercentContributionMember</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.1</span><table class="report" border="0" cellspacing="2" id="idm140418480345200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES, 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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Current provision (benefit) [Abstract]</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_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 892<span></span>
</td>
<td class="nump">$ 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_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">181<span></span>
</td>
<td class="nump">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_CurrentForeignTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">102<span></span>
</td>
<td class="nump">96<span></span>
</td>
</tr>
<tr class="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 );">Related to UTP</a></td>
<td class="num">(34)<span></span>
</td>
<td class="nump">28<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_CurrentIncomeTaxExpenseBenefit', window );">Total current provision</a></td>
<td class="nump">1,141<span></span>
</td>
<td class="nump">181<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Deferred provision (benefit) [Abstract]</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_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="num">(266)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="num">(103)<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_DeferredForeignIncomeTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">5<span></span>
</td>
<td class="nump">0<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 );">Total deferred provision (benefit)</a></td>
<td class="num">(364)<span></span>
</td>
<td class="nump">0<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 );">Total tax provision (benefit)</a></td>
<td class="nump">777<span></span>
</td>
<td class="nump">$ 181<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal', window );">State net operating loss carryovers</a></td>
<td class="nump">700<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_DeferredTaxAssetsOperatingLossCarryforwardsForeign', window );">Foreign tax net operating loss carryovers</a></td>
<td class="nump">$ 600<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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-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_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_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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-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_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_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</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_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsOperatingLossCarryforwardsForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign 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_DeferredTaxAssetsOperatingLossCarryforwardsForeign</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 state and local 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_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal</td>
</tr>
<tr>
<td style="padding-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_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_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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418477771744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES, Income Before 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract', window );"><strong>Income (loss) before income taxes [Abstract]</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 );">TOTAL</a></td>
<td class="nump">$ 4,545<span></span>
</td>
<td class="nump">$ 1,408<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_IncomeTaxAuthorityNameAxis=us-gaap_InternalRevenueServiceIRSMember', window );">United States [Member]</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract', window );"><strong>Income (loss) before income taxes [Abstract]</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Income (loss) before income taxes</a></td>
<td class="nump">3,765<span></span>
</td>
<td class="nump">733<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_IncomeTaxAuthorityNameAxis=us-gaap_TaxAuthoritySpainMember', window );">Spain [Member]</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract', window );"><strong>Income (loss) before income taxes [Abstract]</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Income (loss) before income taxes</a></td>
<td class="nump">25<span></span>
</td>
<td class="num">(83)<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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember', window );">Canada [Member]</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract', window );"><strong>Income (loss) before income taxes [Abstract]</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Income (loss) before income taxes</a></td>
<td class="nump">$ 755<span></span>
</td>
<td class="nump">$ 758<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-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_IncomeTaxAuthorityNameAxis=us-gaap_InternalRevenueServiceIRSMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityNameAxis=us-gaap_InternalRevenueServiceIRSMember</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_IncomeTaxAuthorityNameAxis=us-gaap_TaxAuthoritySpainMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityNameAxis=us-gaap_TaxAuthoritySpainMember</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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418381956592">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INCOME TAXES, Income Tax Effects of Temporary Differences Impacting Deferred Income 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 [Abstract]</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_DeferredTaxAssetsInventory', window );">Inventory</a></td>
<td class="nump">$ 412<span></span>
</td>
<td class="nump">$ 471<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="nump">55<span></span>
</td>
<td class="nump">93<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_tlfa_DeferredTaxAssetsAccountsReceivable', window );">Accounts receivable</a></td>
<td class="nump">8<span></span>
</td>
<td class="nump">14<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances', window );">Sales returns</a></td>
<td class="nump">49<span></span>
</td>
<td class="nump">47<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses', window );">Foreign currency translation gain/loss in OCI</a></td>
<td class="nump">512<span></span>
</td>
<td class="nump">689<span></span>
</td>
</tr>
<tr class="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 losses</a></td>
<td class="nump">182<span></span>
</td>
<td class="nump">261<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="nump">170<span></span>
</td>
<td class="nump">63<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent', window );">Leases</a></td>
<td class="nump">108<span></span>
</td>
<td class="nump">152<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_DeferredTaxAssetsGross', window );">Total deferred income tax assets</a></td>
<td class="nump">1,496<span></span>
</td>
<td class="nump">1,790<span></span>
</td>
</tr>
<tr class="re">
<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 );">Less: valuation allowance</a></td>
<td class="num">(154)<span></span>
</td>
<td class="num">(1,151)<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_DeferredTaxAssetsNet', window );">Total deferred income tax assets, net of valuation allowance</a></td>
<td class="nump">1,342<span></span>
</td>
<td class="nump">639<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesAbstract', window );"><strong>Deferred income tax liabilities [Abstract]</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_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Property and equipment depreciation</a></td>
<td class="nump">471<span></span>
</td>
<td class="nump">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_DeferredIncomeTaxLiabilities', window );">Total deferred income tax liabilities</a></td>
<td class="nump">471<span></span>
</td>
<td class="nump">639<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_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred tax asset (liability)</a></td>
<td class="nump">$ 871<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_DeferredTaxAssetsAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accounts 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;">tlfa_DeferredTaxAssetsAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_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_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inventory.</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_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-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_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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share-based compensation.</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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accrued liabilities.</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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deferred rent.</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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 estimated returns and sales allowances.</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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsUnrealizedCurrencyLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unrealized losses on foreign currency transactions.</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_DeferredTaxAssetsUnrealizedCurrencyLosses</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from property, plant, and equipment.</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_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418480345296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES, Reconciliation of Effective Tax Rate from Statutory Rate (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 [Abstract]</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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Statutory rate - Federal U.S. income tax</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State and local taxes</a></td>
<td class="nump">5.30%<span></span>
</td>
<td class="num">(0.60%)<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_tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent', window );">Permanent book/tax differences</a></td>
<td class="nump">2.40%<span></span>
</td>
<td class="nump">11.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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="num">(6.80%)<span></span>
</td>
<td class="num">(20.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_tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent', window );">Interest on Uncertain Tax Position</a></td>
<td class="num">(0.80%)<span></span>
</td>
<td class="nump">2.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_EffectiveIncomeTaxRateReconciliationTaxCredits', window );">Income tax credits</a></td>
<td class="num">(2.30%)<span></span>
</td>
<td class="nump">0.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_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other, net</a></td>
<td class="num">(1.70%)<span></span>
</td>
<td class="num">(0.50%)<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_EffectiveIncomeTaxRateContinuingOperations', window );">Effective rate</a></td>
<td class="nump">17.10%<span></span>
</td>
<td class="nump">12.90%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Interest on unrecognized tax benefit.</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;">tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 permanent book to income tax differences.</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;">tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>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)(2))<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 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<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.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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="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_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_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other adjustments.</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_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</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_EffectiveIncomeTaxRateReconciliationTaxCredits</td>
</tr>
<tr>
<td style="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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418477809040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES, Reconciliation of Uncertain Tax Positions (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_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward', window );"><strong>Reconciliation of Uncertain Tax Positions ("UTP") [Roll Forward]</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 );">UTP at beginning of the year</a></td>
<td class="nump">$ 450<span></span>
</td>
<td class="nump">$ 415<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions', window );">Gross decrease to tax positions in current period</a></td>
<td class="num">(27)<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_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Gross increase to tax positions in current period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7<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_tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense', window );">Interest expense</a></td>
<td class="num">(35)<span></span>
</td>
<td class="nump">28<span></span>
</td>
</tr>
<tr class="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 );">UTP at end of year</a></td>
<td class="nump">$ 388<span></span>
</td>
<td class="nump">$ 450<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 including foreign income taxes.</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;">tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</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_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward</td>
</tr>
<tr>
<td style="padding-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_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 that have been or will be taken in current period tax return.</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 15A<br> -Subparagraph (a)(2)<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_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-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_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 that have been or will be taken in current period tax return.</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)(2)<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_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387466208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>Customer </div>
<div>Supplier</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>Customer</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_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember', window );">Supplier Concentration Risk [Member] | United States [Member]</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_tlfa_ConcentrationRiskAbstract', window );"><strong>Concentration Risk [Abstract]</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_tlfa_NumberOfSuppliers', window );">Number of suppliers</a></td>
<td class="nump">150<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_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember', window );">Supplier Concentration Risk [Member] | Foreign Countries [Member]</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_tlfa_ConcentrationRiskAbstract', window );"><strong>Concentration Risk [Abstract]</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_tlfa_NumberOfSuppliers', window );">Number of suppliers</a></td>
<td class="nump">20<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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales Revenue [Member] | Customer Concentration Risk [Member]</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_tlfa_ConcentrationRiskAbstract', window );"><strong>Concentration Risk [Abstract]</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_tlfa_NumberOfMajorCustomers', window );">Number of customers accounted more than 0.5% of revenue | Customer</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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales Revenue [Member] | Customer Concentration Risk [Member] | Five Major Customers [Member]</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_tlfa_ConcentrationRiskAbstract', window );"><strong>Concentration Risk [Abstract]</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_tlfa_NumberOfMajorCustomers', window );">Number of customers accounted more than 0.5% of revenue | Customer</a></td>
<td class="nump">5<span></span>
</td>
<td class="nump">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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales Revenue [Member] | Customer Concentration Risk [Member] | Five Major Customers [Member] | Maximum [Member]</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_tlfa_ConcentrationRiskAbstract', window );"><strong>Concentration Risk [Abstract]</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">2.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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Customer Concentration Risk [Member] | Two Major Customers [Member]</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_tlfa_ConcentrationRiskAbstract', window );"><strong>Concentration Risk [Abstract]</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_tlfa_NumberOfMajorCustomers', window );">Number of customers accounted more than 0.5% of revenue | Customer</a></td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="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">8.00%<span></span>
</td>
<td class="nump">10.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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsPayableMember', window );">Accounts Payable [Member] | Supplier Concentration Risk [Member] | Ten Major Suppliers [Member]</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_tlfa_ConcentrationRiskAbstract', window );"><strong>Concentration Risk [Abstract]</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">55.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_tlfa_NumberOfMajorSuppliers', window );">Number of suppliers accounted for 55% of inventory purchases</a></td>
<td class="nump">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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsPayableMember', window );">Accounts Payable [Member] | Supplier Concentration Risk [Member] | One Major Supplier [Member]</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_tlfa_ConcentrationRiskAbstract', window );"><strong>Concentration Risk [Abstract]</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_tlfa_NumberOfSuppliers', window );">Number of suppliers</a></td>
<td class="nump">1<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_tlfa_ConcentrationRiskAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">tlfa_ConcentrationRiskAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_NumberOfMajorCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 major customers 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;">tlfa_NumberOfMajorCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_NumberOfMajorSuppliers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 major suppliers 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;">tlfa_NumberOfMajorSuppliers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_NumberOfSuppliers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 suppliers 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;">tlfa_NumberOfSuppliers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SupplierConcentrationRiskMember</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_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_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_MajorCustomersAxis=tlfa_FiveMajorCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tlfa_FiveMajorCustomersMember</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_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=tlfa_TwoMajorCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tlfa_TwoMajorCustomersMember</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_AccountsPayableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsPayableMember</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_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=tlfa_TenMajorSuppliersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=tlfa_TenMajorSuppliersMember</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_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=tlfa_OneMajorSupplierMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=tlfa_OneMajorSupplierMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418378265552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS' EQUITY, 2013 and 2023 Restricted Stock Plans (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="4">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Oct. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jan. 31, 2013</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 [Member] | Chief Executive Officer [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of restricted stock units granted (in shares)</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">644,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="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=tlfa_ServicedBasedRestrictedStockUnitsRSUsMember', window );">Serviced Based Restricted Stock Units [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</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="nump">$ 800,000<span></span>
</td>
<td class="nump">$ 1,100,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>
</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=tlfa_ServicedBasedRestrictedStockUnitsRSUsMember', window );">Serviced Based Restricted Stock Units [Member] | Chief Executive Officer [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period from grant date</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">5 years<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of restricted stock units granted (in shares)</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">460,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="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=tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember', window );">Performance Based Restricted Stock Units [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</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="nump">$ 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>
<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=tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember', window );">Performance Based Restricted Stock Units [Member] | Chief Executive Officer [Member] | Tranche One [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of restricted stock units granted (in shares)</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">92,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome', window );">Minimum amount of operating income, award vesting condition</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">$ 12,000,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="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=tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember', window );">Performance Based Restricted Stock Units [Member] | Chief Executive Officer [Member] | Tranche Two [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of restricted stock units granted (in shares)</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">92,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome', window );">Minimum amount of operating income, award vesting condition</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">$ 14,000,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="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=tlfa_TwoThousandAndThirteenRestrictedStockPlanMember', window );">2013 Restricted Stock Plan [Member] | Minimum [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period from grant date</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">4 years<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="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=tlfa_TwoThousandAndThirteenRestrictedStockPlanMember', window );">2013 Restricted Stock Plan [Member] | Restricted Stock Units [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_CommonStockCapitalSharesReservedForFutureIssuance', window );">Number of common shares reserved for issuance (in shares)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">800,000<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=tlfa_TwoThousandAndThirteenRestrictedStockPlanMember', window );">2013 Restricted Stock Plan [Member] | Restricted Stock Units [Member] | Maximum [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_CommonStockCapitalSharesReservedForFutureIssuance', window );">Number of common shares reserved for issuance (in shares)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300,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_us-gaap_PlanNameAxis=tlfa_TwoThousandAndThirteenRestrictedStockPlanMember', window );">2013 Restricted Stock Plan [Member] | Serviced Based Restricted Stock Units [Member] | Non-Employee Director [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period from grant date</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">4 years<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of restricted stock units granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,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>
<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=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember', window );">2023 Restricted Stock Plan [Member] | Restricted Stock Units [Member] | Maximum [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_CommonStockCapitalSharesReservedForFutureIssuance', window );">Number of common shares reserved for issuance (in shares)</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>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,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_PlanNameAxis=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember', window );">2023 Restricted Stock Plan [Member] | Serviced Based Restricted Stock Units [Member] | Non-Employee Director [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period from grant date</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">4 years<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of restricted stock units granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,993<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>
<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_PlanNameAxis=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember', window );">2023 Restricted Stock Plan [Member] | Serviced Based Restricted Stock Units [Member] | Chief Executive Officer [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Restricted Stock Plan [Abstract]</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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period from grant date</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">3 years<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of restricted stock units granted (in shares)</a></td>
<td class="nump">276,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>
<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_tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum amount of operating income to meet the performance condition.</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;">tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for award under share-based payment arrangement. Excludes amount capitalized.</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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<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 (h)(1)(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_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-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_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_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_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_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_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_srt_TitleOfIndividualAxis=srt_ChiefExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ChiefExecutiveOfficerMember</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=tlfa_ServicedBasedRestrictedStockUnitsRSUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tlfa_ServicedBasedRestrictedStockUnitsRSUsMember</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=tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember</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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</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=tlfa_TwoThousandAndThirteenRestrictedStockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tlfa_TwoThousandAndThirteenRestrictedStockPlanMember</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418390656464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS' EQUITY, Summary of Activity for Restricted Stock and RSU Awards (Details) - Restricted Stock and RSU [Member]<br> shares 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>$ / shares </div>
<div>shares</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Shares [Roll Forward]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance (in shares) | shares</a></td>
<td class="nump">441<span></span>
</td>
</tr>
<tr class="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 );">Granted (in shares) | shares</a></td>
<td class="nump">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares) | shares</a></td>
<td class="num">(2)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares) | shares</a></td>
<td class="num">(106)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Balance (in shares) | shares</a></td>
<td class="nump">623<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Share Price [Abstract]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 6.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share) | $ / shares</a></td>
<td class="nump">4.25<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in dollars per share) | $ / shares</a></td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share) | $ / shares</a></td>
<td class="nump">6.51<span></span>
</td>
</tr>
<tr class="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 );">Balance (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 5.12<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity-based payment instruments, excluding stock (or unit) options, that were forfeited 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</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)(03)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity-based payment instruments, excluding stock (or unit) options, that vested 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_AwardTypeAxis=tlfa_RestrictedStockAndRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tlfa_RestrictedStockAndRestrictedStockUnitsMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387607920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS' EQUITY, Non-vested Service-based Awards (Details) - 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_AwardTypeAxis=tlfa_ServicedBasedRestrictedStockUnitsRSUsMember', window );">Serviced Based Restricted Stock Units [Member]</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_ShareBasedCompensationAbstract', window );"><strong>Share-based Compensation Expense [Abstract]</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_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 800,000<span></span>
</td>
<td class="nump">$ 1,100,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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Unrecognized compensation cost period of recognition</a></td>
<td class="text">3 years 1 month 6 days<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_tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 571,000<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_tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears', window );">2025</a></td>
<td class="nump">468,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_tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears', window );">2026</a></td>
<td class="nump">314,000<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_tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears', window );">2027</a></td>
<td class="nump">7,000<span></span>
</td>
<td class="text">&#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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized Expense</a></td>
<td class="nump">1,360,000<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=tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember', window );">Performance Based Restricted Stock Units [Member]</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_ShareBasedCompensationAbstract', window );"><strong>Share-based Compensation Expense [Abstract]</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_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</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_us-gaap_AwardTypeAxis=tlfa_RestrictedStockAndRestrictedStockUnitsMember', window );">Restricted Stock and RSU [Member]</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_ShareBasedCompensationAbstract', window );"><strong>Share-based Compensation Expense [Abstract]</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_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Number of shares issued from vesting of restricted stock (in shares)</a></td>
<td class="nump">108,796<span></span>
</td>
<td class="nump">140,277<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested share-based compensation awards in excess of one year due in the fourth fiscal year following the latest 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;">tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested share-based compensation awards in excess of one year due in the third fiscal year following the latest 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;">tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested share-based compensation awards due in excess of one year due in the second fiscal year following the latest 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;">tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested share-based compensation awards in excess of one year due in the next fiscal year following the latest 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;">tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for award under share-based payment arrangement. Excludes amount capitalized.</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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<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 (h)(1)(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_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-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_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_ShareBasedCompensationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationAbstract</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-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_AwardTypeAxis=tlfa_ServicedBasedRestrictedStockUnitsRSUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tlfa_ServicedBasedRestrictedStockUnitsRSUsMember</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=tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember</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=tlfa_RestrictedStockAndRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=tlfa_RestrictedStockAndRestrictedStockUnitsMember</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>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.1</span><table class="report" border="0" cellspacing="2" id="idm140418387510960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS' EQUITY, Share Repurchase Program (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 11, 2022</div></th>
<th class="th"><div>Jul. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Aug. 08, 2022</div></th>
<th class="th"><div>Apr. 10, 2022</div></th>
<th class="th"><div>Aug. 09, 2020</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>Stockholders' Equity Note [Abstract]</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>
<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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0024<span></span>
</td>
<td class="nump">$ 0.0024<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_StockRepurchasedAndRetiredDuringPeriodValue', window );">Purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11<span></span>
</td>
<td class="nump">$ 1,798<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_us-gaap_ShareRepurchaseProgramAxis=tlfa_ShareRepurchaseProgramMember', window );">Share Repurchase Program [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Stockholders' Equity Note [Abstract]</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>
<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_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1', window );">Remaining repurchase of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,000<span></span>
</td>
<td class="nump">$ 5,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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="nump">359,500<span></span>
</td>
<td class="nump">600<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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.0024<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>
<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_SharePrice', window );">Purchase price per share (in dollars per share)</a></td>
<td class="nump">$ 5<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>
<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_StockRepurchasedAndRetiredDuringPeriodValue', window );">Purchase price</a></td>
<td class="nump">$ 1,800<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>
<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_tlfa_PercentageOfCommonStockOutstanding', window );">Percentage of outstanding common stock</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>
<td class="nump">4.20%<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 [Member] | Share Repurchase Program [Member]</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>
<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_StockholdersEquityNoteAbstract', window );"><strong>Stockholders' Equity Note [Abstract]</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>
<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 );">Repurchase of common stock shares</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="nump">$ 5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_PercentageOfCommonStockOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 outstanding common stock in prior to the repurchase.</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;">tlfa_PercentageOfCommonStockOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</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_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_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</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_SharePrice</td>
</tr>
<tr>
<td style="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_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_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 remaining of a 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_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1</td>
</tr>
<tr>
<td style="padding-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_StockRepurchasedAndRetiredDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and retired during 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> -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 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 3: 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 4: 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_StockRepurchasedAndRetiredDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-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_StockRepurchasedAndRetiredDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).</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 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 3: 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 4: 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_StockRepurchasedAndRetiredDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-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_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_ShareRepurchaseProgramAxis=tlfa_ShareRepurchaseProgramMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareRepurchaseProgramAxis=tlfa_ShareRepurchaseProgramMember</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>EXCEL
<SEQUENCE>71
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
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
MKT3YR7C$2L$HR9#$&3A'%)4I!HF6$^#P&G%<RAQ+DB(JCL!'<)-<@,.#(W
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
M>T%M.[]A>V$1FD;4Y8&CE\+^_6'[3E2:F'Z7\N;JO?;%V]8PWB6&>-0*6Z3
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
M??=7$"Y0; ''MZ1MVER )&W0 +T$=;)]6.P#18TM(A2ID)0=__V>H2YQNFV
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
MC3UT;;!Z<!A:PCHQVPT14]U&TZ_;TC[/[U\\R-7^0.-"M0\(N"?Y_=F#')D
M%^.1\T>Q0Y^%5;'<SLP% %%:]R\?!'CT#8I)$-V *"U.###9B$:N%V>!6)M$
M#ZC-!O&1F2:]#P?"LO^@N/G+>*RPA[R#H]=7=KEW&H)M*/1R.Z^K56!T]7([
MS9"1\UO',$>XS$3QM\3RP9*_&,49#G!B3R(:(7VBB6A/2'^.4@Y0*/HB3G/4
MTY @P/#A]&XP0D0_;$84 :=NP);8(>82 @ DWDJZL\C<VE\%TV%L6[#<N"C*
M@W:-55E/DQ<BHM( 3+#-DA.%33YO$7VXA/?;#R]=OEM@DLQ>A60=2TJR(0.!
M+4^?Y@ @P6IQZ^6.O 1X3LYZX2<(UJTF#EBT(,O*W6)D/&3P,E:R$7.MY^4J
M2CZ04O K3//W[D\\X_U;-G4<*;C,(X)!H:(D*)P+A[W$OS(3'\A3Y!LRGJ#Z
M<J"(,<4+A:9#AW3O"XAE-N)OI+[&I9!_Q%4A6-9%Z: HCW,#:4APF1^&!/X;
MPDT<D"(U($I2P["2'3%'3HE7.,O>E.Y/SGM(5HP0BI@DUL:E@72;P,52:!";
M$SL(2H.7&AI=HS IJ6LAEF O<O!B\I**ZI"OTOJ)! ]'6P V&%Q'J:@T$]/)
M>XVN2(*->9^PH=I,L7/.Y\'ZXQZA4Y4(\_-5M11L9PZXO:^@# T%H4MZ"6G@
M$UI3$,7N_,Y(IBY>]5!%AJT="42I@'%YI?!F@,=%>+H*'C=F8]/GI_D[^!82
M@DWX#&&M.85%7\AQ])X3ZZVL@&KG^E^+7*V3.7=^CWMD_[ E_>G7M.K[Q\\E
M$$I!)79(Q6UI&V%3("-S%0+HB[&C'[.3'><GTOS-L<AJ1@VY)Q_GJZ2,[>9B
M^,S'#J_%L_:2KJG8Q,VC!0-6O%2?^%TRH1Z=0GUO1UA>F2_8FHYHFU.(<J?3
M(\Q"^'.$E]FH)IM-OH:61\<**TUAO*YLL5IU9L7B[!C\G4OU0EFP^9-DA/M]
M^;=\?W!0F>Q#VGYEVE57;(G#8%4+&Y6QGF?WV2UN!TM+V =(,%]RECE+BLS9
M=]G5D\G5LROZX\G%Y.KJ<29%G?S)Y/+\ O]]=IEQ&8#0.+N<X;]/GF3>@.&]
MJ\EL]HS^>'H^N;Q\G/\<P%(;%V<O#NQ=W6I\L.,<+7-N!^T,['L]Q$C6S,[O
MX&4D)6UU*[E$K=0Y*2S=H\_SBP?D0?=%54_@ OT*NA)#/'S+670*2[<M+,$$
MCM%++>).\D</D)!5SW.2/XX_YA^[5GC]ZD'^9K.MV[W14GEGU+=QBCF YB&2
M''BSC[Y9$1?1Z>F8^;*0&E?+RD($EFP!GY.(M6HEG+Y&^BM:LI-,A8J6& S4
MX-FG2;T(<KSPS8W92T*9E!0JT6C^43_)FLB!(8RH?G;;P21TG%G$UWMG_EEA
M9>XA.;KDVU$4(>,.@TX[]8H<&P=N2-7K*UK8\LEZLGM=ZV0M2MW;! 7LS;@"
MVT293D(R5]E:HLY2PMXXKS]"H/COXF!B<7J?35;9\@'('\EMW?82#!K#*7;T
M VC4&OP5 &P-,6P'Q>Q+&LXC./HFE(I!>;Q)/TY<L*8EE4W55 B_&06+UB)Q
M&9+K.TZ 26JZ,<NJYW8.]901+6P+1*OZ7HGPB?A8C&51DBFC"(DWY? E:X]
MA.[MYX0I^,'<)J8.K\WOTX'AEIU,I&OMUQ5R67"KA9X"E79LUTME"/D1#C!#
M@CSD!Q+ 3[QWD'+''JCQ1N]5DC4=0O)'XK:NP+'.T%^DT7!DY+V?-EB#Y'R-
MN--94]=-(U:>\TL<4ULH>3(!KO05_D)@XF$4!;CC$J"4]LXJ.#'\%[(D/B)Z
M]_:##XEP,K @T$1JOZ[^8DEG/W+B:\-X):^+/:<Y$0445:-E*;^SJMX:"=<I
M>ADJNS9EMFK;4O._L%)<+HE[&@2 U&%U]2CMUF$*LR[R*;H#)N&J$+<<E&#O
M:CXP+,CI0B/O"&98+RX)TI'P9NWYDMP]BFS4ZPCOZ[.E 9%XXY%-F=%]=Q,#
MZOVQA,WHA'7;K,YJB6_$OZ9=:O99V$5#5PQ+SR&X"4R^! I%9<G"I]7D(,Q=
ML?-:680:7:'$$V>^W&:%SFP_BU&>D78H 848EM3(W)( :ANIZY3)U#&5@UN_
M[81X9MYJU"_ZC6M@"ZD]"?B2 %^;HD1EL^NXMXCA<M4G5_*%46R*>O^7.'T3
M%XV;V]Z7W6.6"J]2]&U,*=[^.*<33FXJZ_-O&Q0=6 7[J&+A8 M1M?1W.7ID
M')BL2,ET-8S9#3IQQ0I[ZO0<<[1Y**-4RZSW]OY^]8#BH$V!#( (SGTS74TE
M%*FEWV7"I[&<V;,+^'LH]_%+DEP@N]459S=56YL@])__[46^AH(B;7J_HMT4
M(J"N,5&(N&EO7+*"DT^:OF*UIC"1&=N=T7/,E5@&IL3YNU"Y9%FYXLE)+D8P
M(54V%(ULMNS'9G\.A;S4H0\!6>&]ZI[6JQH8#+MNM$S,-C:"25)2="(ZDO,I
MDA)S=+B>K&W#065)^EY2#!HW#UW,;P<Z]2Y528Y4<&],U(^#%\=>R!+^1(FU
MABF8DY0X,^'2[+[Q33)U\-D[14WWA99669$PR%?NO-*$)S#1ID##S1>"OZ3Y
MD"2Y+EVO"OV.;#6747VQ4O$HZX3RMT^-L$J3_,:F^*/ME G"&;U2=YFR3>6K
M0"IPM'%2M$%>@OUW.@;WDHTV99(2;RUR4_34469]60_HD-2^Q)\A4UF4S!L.
MTNV%C2"6ACF*C88H,<BU0-;FEM."2\$R/1): I3MIZFIWJ[W%I7'>I\[][??
M5=SGJIVCRM@G+=E!>IA-[21FH]%-4.#+M+_G *2>4\.NT48[>Z(.2+NG'S:B
M")<H0T.H!BY42P*=:W%3M.*!L+\#)E2,%^1106;!]> R<!)46#MH0TN=Z1':
M152V<(;/1(Z8>^T.\\Y"(VDXMK$0/P6D0/?H1GI5?C>)VN6>B:Y#C8XWXM*W
MOL6!AMEZ$8RJ NS=M<LS0.F4ZV\?/GOM&I<+>;&D:-AG7(>@Q7E/SGDE(:Q6
M)$(BCU40+^1# ^]/RO<XDO0^U))"0IPA.5TDR6JAC63YD1\E4! ] 4FT_L7L
ML-='(7'9$)F(X9X5LF7,(#BB"TE%Y)VO \U35TN&O#-2CF, 4,!$S$56P#6A
M'03O=MUJ YLD#IV'O.0VJ,/CHMH9X@LYXV04@QE /L @VJ356Y%252<AI7_
MRX0TY2VUXL>Q&BO=+K13HZ 50%-,MUM5FJ!#0XY . !#[G]U:E%^3$(7UCF5
MME6J8M][V=H9"?3-+;()".VYDZ7)9'&AB_\1&HMW9VCHJ 2%WUK>P#[1.$'/
MM$9D2Q++"WYTV/%T*US+.!Q8\%9I;@^0Y%,*4=NTZKDC0WE I:7 2-K=U2$+
M&ZKT"7N%3)O(N4L>'*PHCJR8^9!((!>UD[1:E\ACG&HJ;DAIJ=OJ6%3@"9)\
M5$!L>A^N*[0N;CAD74%F&CV*[STJ[+_%2U=I@>(XZA9ID2XCXV6%=7&LS9SF
MZCB)3;'\7X[(=\)ER-VM3LCM4DWFX2Y.HD/5)0O'<VY.@CT]'] W<C["NTAL
MA*F0>XW,UY$>0)QVV/DAG3RP+62ZP"D#%WQ<DO%@]1#\&YZ5D0R6OBP9 )%%
MXA226_9,@8/,*5@UNPE]),G/800)#2RNJ#,.I/ ]2UL\>>"W=#AC>?*UFXOS
M<^]6[=C+D5-Q'U[,07?V9']SKT'^7K..0?D&4^Q'/4+2,#WEBIP5=$6Z[%AX
MBHS_0G-7Y,84WJY+<DVZ+/TXSLJPCQ)K]M@AR#XT^35&ICA+_G02^F+8KW!M
M1 5/_2#@@BRXU[U?(GZ,8HWDK,]_J>:<4+H/[8%A&?GZ95>L5@^0]N>\L;36
M5;ZU3G#N]G'@@E21MK5$$?;+%DBCA*XUEVFTWD-4R7H/<SN'D^3*+YFV<;,W
MS\ S!K5'#>,A1^0"E>FGH^\]\#O5\L7&Z'P".*_MH*B6XKZ_;TFS/IHX3U$J
MRAVG!'0^Z(YY.5%9Y+O2UU7G&D>.\RGP@73X:N17QJ#ZP?5>U1B:RJ6E'H-;
MPN*=;SG'G$<\/>8]/N+#U4JR0O*6]_]D$*(IT:ITD#CP/IV:\$P!@S<"]IV+
MHD-_VAQ9X\];92MNU.#@3>+JP]TG7W=+E7B:8MR>2'IROFL)%]$H[A!\-ZMJ
M7B?V09(;SCT*5)&*1/R-=)RF%BIHVLRSD+@YWC\OHVS.>-Y%H=&Z0(*W3V.^
MA7]"BZ*J_$6X!H?I*$/;1&4*;7Y (!]-!_@)R'S5M<,V3</:7N(S1I&7\<YP
M?Y^;XI!(/:P(!PH921/.F>XG233>+MZ?+2;[?]'C?B12<HPC6>A@D4:LMG2\
M[]5@1R46^8)A2(<@$^JE6.!TQXE#^V'.@]-KPC#LYHX4]>+WFH,KJQLQ(%%D
M3/IB^?>)RH&.%M)DL8(7=);T#I9T/IY4/YRLC<M#A*OY7ON&O!_AX5W2:ZHV
MM+5Y3)W$>\NN0I>1;27@KSGLQM.+3H:W$JIZO<N)G#SMO;1.8!OICUFP7NFB
MJ9LLUC72R#ZJ;@C(0RV:M@R*_$AJRB75O3-0F@6\41NYO!0@29TK--0G+2<4
M39#'U40C16ZHU2;CS&XD0* @S+K:1NO,/6SHT+&JJ6P6=?3[B>I-Z,AW [\^
MCV>%6DSNUK%A8,$)J+"#"^PGS/T,,#YH<!7&;X7:$:_H0$B@*'>@1<4GYMVX
M#NMW#PD_[[O^W<;BILTBSG/NJ.NCDBZ-:?Y&QYE (HK]P4$OR2(O_)Q3](,S
M:&\^7H<\2V=" 2Y)).RXL CNUD[O9F!0.86[V=!3O*I%+1)VG3VJHR  70(U
M+TZ[AM*&ZPXJZBQ=3'KJF%?#R&B\0[7,MRT*%3+H$;^K'9@E-H1S*X%$PHB+
M+WFQX^87GV8\])*<>RP:B%X MT^XYXV!D;X;\A )A#._ES4+3())&[;+G7A
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
M;L4B/['[P;*H$HZ?ITK+A >[^\)M[P)/2'$FUP8/<\L!1A_W\<F5S:4']S\
M-0: ?PW6<O0(CO<U!QH;D\2E9N_#'\+[[F(P-4)PXA?Q#41V''3P@@K'$>8"
M=NJ][NJJEHZ.W#-EN@/^^'MXBHL;/C4N5V]8*4-&'E[LMGLCSN&0MDS&Z,W<
M<I%K$!80J<,5Q)&;LCV24B\I:)P6+7Y*A:>*,]20M825M/6<0)$_LU"O4C=<
M;KAPZW" (\8>B-"OG>+(ZF(K3<M+K_=\'R3'( VKGK@-$NT,7-#G?'[?UT8O
M#$O2<WH-@Y3S3MICI_!>C=VF-?JECR@;7U45072.BJ1VP]Q9,H 3W^ET^N:S
MZ:A3P8VQEKP@,6V\439Z#9@4'K[I/C8W!(N(/KVZSH\:F#*YB,W?492,FLH\
MUBL_E8519YU@LV'.3N9)CV__D?:H* 5Y//VM_)(D)J^3QMT/:>-N2KUW/GO5
M<W\"X.0,Y7>7X28,N;WB,KJ8XYMNGIA$J=?TNHL786H\^5OV'YL31M:YQSS;
MJNH+'FP#PV!,L)YPE1F^H>OEG.CUD103[VQT!>>9W@9FT"/10W*G(]N[5$UC
M?:3&/=,.2='(>]+F\MW%]"+%V$6$PO@N[S&4_,:I,.+D%V7+_YY#Y,M^[-JF
M'71Z*+WNMZQD\*? 6YR60.17C/C!_GKJ:!8W)N,I*D['_MV.A]$_N$(87?$_
M*V-E/DS^[17_;>[^Y9H7\@^VA,?EG[WYE7P?W)M7FR6]>CY]\OB>]+6Z#WV[
MY7^^9=[V)!;\)\:&38<'Z/=EV_;N S;P_Y[/3_\'4$L#!!0    ( *J"=E@I
MX$)A6 0  &8)   8    >&PO=V]R:W-H965T<R]S:&5E=#DN>&ULG5;;;MLX
M$'WG5Q#:8-$"JFU1-]N;&' 2!RV0Q$&<=A\6^T!+8XNH)*HD%<=_OT/*]CJ;
M"[:% (F7F<-SAN2,3C=2?=<%@*%/55GK,Z\PIAGW^SHKH.*Z)QNH<68E5<4-
M=M6ZKQL%/'=.5=EG@T'2K[BHO<FI&[M3DU/9FE+4<*>H;JN*J^TYE')SY@7>
M?N!>K MC!_J3TX:O80'F:W.GL-<_H.2B@EH+65,%JS-O&HS/(VOO#+X)V.BC
M-K5*EE)^MYTO^9DWL(2@A,Q8!(Z?1[B LK1 2./'#M,[+&D=C]M[]"NG';4L
MN88+6?XI<E.<>4./YK#B;6GNY>8S[/3$%B^3I79ONNELP\2C6:N-K';.R* 2
M=??E3[LX'#D,!V\XL)T#<[R[A1S+2V[XY%3)#576&M%LPTEUWDA.U'93%D;A
MK$ _,SF?7D]O+V9T\7DV>Z 7\YN[^>WL]F%QVC>(;FWZV0[IO$-B;R %C-[(
MVA2:SNH<\N< ?:1UX,;VW,[9NXB7D/5H&/B4#5CX#EYXT!HZO/ GM=*_IDMM
M%!Z0OU^3W8%&KX/:2S/6#<_@S,-;H4$]@C?Y_;<@&?SQ#N7H0#EZ#_VGMN==
MI-=YACWZ9E"^U(]0&ZFVY(.HJ2EDJWF=ZX\$MP6J):C#UKP8861>TP*MQ^1*
MU )/9T[74N::%E#F%%,)U;P$<D+"T _C@6W$/@LC<L\W>+H-*,%+31'!76J*
M!!HE,]":!'Z:1F3$8G(@:*=Q^S!1&,+\83+"]R 9DH?YP_3:8J?^:!3:QM!G
M+*5W"G.:,EMB\6<_6M%@EC&_(O.\%64NZC4]H2.?I6GW31)RC1A(-8J#W?L:
M,'44$M6+"J4\@EW2JAFFL7L/R(&)TUWQK, MQ/ /_0@EH88P(%>MJH5I%3B;
ME7BR;8V34<SL.PW(-RA$5N)@$$<D"&/"AGZ2#NTG8!$2T7J,R3!KJ[;$2.>8
MP_! 9(+;+$D^!&B&"WW$5N*/$H:M?1R#@1]'J6T$?I P.F^5W1872\<']@I\
M6H/QR89K6LK,K>*""[CW)=8!&[),MK51 O3X5R+_%<. J N#X+KC%@51UQ@-
M1^2"USSGJ#\D01J218/UB7S"YZ6,RR/]%)ZPW&F@EOI)T&.8<\O2E0_4]VS
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
M_<SHM8G2$-#^7 B]GA@!F_?KY!]02P,$%     @ JH)V6$I)SD\Y!   %0D
M !D   !X;"]W;W)K<VAE971S+W-H965T,3$N>&ULG5;;;MLX$'W/5PS4HN@"
MCBW+3II-; .VXW83-!?$:1>+Q3[0TD@B(I$*2<7U?OW.4+8:%VD6Z$-B49PY
M<\Y<2(W6VCS8'-'!M[)0=ASDSE6GO9Z-<RR%[>H*%>VDVI3"T=)D/5L9%(EW
M*HM>%(;'O5)(%4Q&_MVMF8QT[0JI\-: K<M2F,T,"[T>!_U@]^).9KGC%[W)
MJ!(9+M%]J6X-K7HM2B)+5%9J!0;3<3#MG\Z&;.\-ODI<VV?/P$I66C_PXB(9
M!R$3P@)CQPB"?IYPCD7!0$3C<8L9M"'9\?GS#OVCUTY:5L+B7!=_RL3EX^ D
M@ 1341?N3J__P*V>(\:+=6']?U@WML-A '%MG2ZWSL2@E*KY%=^V>7CF<!+^
MQ"':.D2>=Q/(LSP73DQ&1J_!L#6A\8.7ZKV)G%1<E*4SM"O)STVN;^X72[B=
M_C6=?5[ ]/H</M]<?SJ\7]Q=P?EB=C_J.8K"MKUXBSAK$*.?(/8CN-+*Y186
M*L%D'Z!']%J.T8[C+'H5\1SC+@SZ'8C":/ *WJ#5//!X@U_4#']/5]89:IA_
M7I+?@ ]?!N<A.K65B'$<T)18-$\83-Z]Z1^'9Z]0'[;4AZ^A_U*Y7D<\ZL+_
MYN.\-E)EX'($B[%6"3S6PC@TH%,N2MCQ>W-=5D)M8*4-R<($WH;=X4$IBX+G
M+S6ZA)E0L8:E4$Y0<QA8=J==J/TC(UPHZZ2K'3+P39K*6(H"Y@83Z> 3Q21'
M1*"S"):E* H@%+BBW;H\M/)?"KD@ U,9:=&"5*"-A]:0BE@6T@F"YD DPDE5
M"W\R4"PLJT)OZ+!Q'I(<A'/(!HT]J]:EC '3E,X3RSX-CM%*/$E36WC_[LU)
M%(5G\YNO%^>'_=_]LG_VVX'?[L)]+BT46BA8"PN5T4^2YL.+66T\VI+2)VT.
MF7Y"HQHV9$FIYG@"=LAT&A824\;(C"@[GC,)N:P5PK&?DVB_) 8K(4E72X%R
MD]9%T84;=7 I2*C9P*"9L'U/Y(023:DX*1 WM1"90?0$W[/Q3GFS.=UM[C)
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
M-"Z9";2"F-/L-+2F,+^WU^AYQ$N)CPN<EG;Q7-AR#4[QA@Y(C*Q"KQ0]]$)
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
M\@)\SXWQAP=VT/T$6OP#4$L#!!0    ( *J"=E@Z%IJ4S0D  $<;   9
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
M,@G3X0'Z?MFVO?L%$_@_+/K\_P!02P,$%     @ JH)V6 U$1N[0 P  @P@
M !D   !X;"]W;W)K<VAE971S+W-H965T,3DN>&ULK59MC^(V$/Z>7V&E574G
MY3;!@02V@+3 WA6IQZ)EM_U0]8-)AF!M8N=L9UG^?<<.F^Y6'*JJ2B@9.YYG
MGGGQ#..#5$]Z#V#(2U4*/?'WQM378:BS/51,7\D:!'[9254Q@TM5A+I6P'*G
M5)4AC:(DK!@7_G3L]M9J.I:-*;F M2*ZJ2JFCC,HY6'B]_S7C7M>[(W="*?C
MFA6P ?-8KQ6NP@XEYQ4(S:4@"G83_Z9W/1O8\^[ ;QP.^HU,K"=;*9_L8IE/
M_,@2@A(R8Q$8OIYA#F5I@9#&MQ.FWYFTBF_E5_3/SG?T9<LTS&7Y.\_-?N(/
M?9+#CC6EN9>'7^#DCR.8R5*[)SFT9P?4)UFCC:Q.RLB@XJ)]LY=3'-XH#*/O
M*-"3 G6\6T..Y8(9-ATK>2#*GD8T*SA7G3:2X\(F96,4?N6H9Z:;Y9?5\O-R
M?K-Z(#?S^=WCZF&Y^D+6=[\NY\O;#?GPP+8EZ(_CT* UJQ-F)^19BTR_@]RC
MY*L49J_)K<@A?P\0(LV.*WWE.J,7$1>079&X%Q :T?@"7MSY'CN\^#_Z_L?-
M5AN%=?/G.>];[/YY;'N7KG7-,ICX>%DTJ&?PIS_]T$NBGR\P[W?,^Y?0IPNN
M65$H*)B!G-S#,X@&SI&\"'.>Y%(0LP>RDR5>6"X*8FP%!'@#G17\H-R!(S"E
M"=C<$LP,5%M0778($[D5*.&:Y._8;H^D %DH5N]Y1AAV$DWPU]K3U]X';@G(
M1B.$_NA9-/N@WJ/@5G]C$$9[/WI)&B2C!(6T%R3)P)LSP7)&TB".>O8YBKT[
M)*I(+Z QM<\T]5;8YS0K'4":!)2.4!A&01P/R(7$#+K$#"XF9BZKND&"MN'(
M'9DQ;7W$6"QXV5CVMTP)#*HF:R2VV:/[Y])VT<CYM'4&UAL;\\P1P76C70XQ
M8<:&NE%'@DTE>R(58)3SJ_?Q#@B\9%!CC"PUDF-+>9N"55.!8D:J:Q=(+M ,
M8 #C($V&^,88T]1;@)#8JMIS;0@.KCM"_HD](T !EE^%,7)F-,%IH0W:1ZK>
M$',Q"I+!T$I)C'F,/.<<=F\"NQVV<QM:ZS;/X)-MR3D6)]Y4GEF'6^_8@:E<
M$RPS83>-)#.).U9SP15B2"S>!HNW+>9UR01Z07O6:AH/_A>+4-6E/ +\TQ"A
M:="+(D)IT.]3[S5S_SY&Q$9F%(S2Q$JC?C!(TK/5&[X9#)BYPHT_6QR-,.V,
MZ':["7O3#I:_C[?C^2M3!1>:E+!#U>@JQ1I5[<AK%T;6;LQLI<&AY<0]_DL
M90_@]YV4YG5A#73_.Z9_ 5!+ P04    " "J@G989SL9W6,$  !W"0  &0
M 'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6R=5FUOXC@0_NY?8>6J4RME"W'>
M@ ,D:*EVI;94I;OWX70?3#(0:Y,X:SNE_/L;)Y!MKR^Z6R$%VYEYYGG&'D_&
M.ZF^ZPS T*<B+_7$R8RI1KV>3C(HN#Z7%93X9B-5P0U.U;:G*P4\;9R*O,?Z
M_:A7<%$ZTW&S=J>F8UF;7)1PIZBNBX*K_1QRN9LXGG-<N!?;S-B%WG1<\2VL
MP'RM[A3.>AU**@HHM9 E5;"9.#-O- ^L?6/P3<!./QM3JV0MY7<[^9).G+XE
M!#DDQB)P_'N$"\AS"X0T?APPG2ZD=7P^/J)?-=I1RYIKN)#YGR(UV<09.#2%
M#:]S<R]WG^&@)[1XB<QU\Z2[UC;"B$FMC2P.SC@O1-G^\Z=#'IXY#/KO.+"#
M VMXMX$:EI?<\.E8R1U5UAK1[*"1VG@C.5':35D9A6\%^IGI?'8]N[U8T-7G
MQ>*!7BQO[I:WB]N'%3U]X.L<]-FX9S",->XE!\AY"\G>@?08O9&ER31=E"FD
M+P%ZR*\CR8XDY^Q#Q$M(SJGON93UF?\!GM^)]AL\__^*_FNVUD;A2?G[+=DM
M:/ VJ*V>D:YX A,'RT.#>@1G^OMO7M3_XP/*04<Y^ A]^J5\A-)(M7?IG<*2
M5&9/>9G2Q8]:5%@DIIFM,JG,)P.JH->"KT4NC #]EI8/H[VMI:- 3D5)329K
MC3'U&<'M@6(-JMNB5RN,+$N:H?6(7(E2X'%-Z5;*5-,,\I3BW4(USX&<$-]W
M_;!O!Z'+_(#<\QT>=U0D>*X;C;;**1*HE$Q :^*Y<1R0(0M)1]"^QFW$F\,0
MY@ZB(3[[T8 \+!]FUQ8[=H=#WPX&+F-QEU'R(J._(G->BSP5Y9:>T*'+XKC]
MCR)RC1A(-0B]P_,:\"[))*H7!4IY!!O2JAG$8?/LDY=[6_ DPVW"] _< "6A
M!M\C5[4JA:D5-#8;\63'&E\&(;//V"/?(!,)EC+QPH!X?DC8P(WB@?WS6(!$
MM![A[9C419UCIE.\U'#3$\'MM4E./33#0&<XBMQAQ'!TS*/7=\,@M@//]2)&
ME[6RV_+S=,)1@4M+,"[9<4USF311FN0"[GV.C<&F+)%U:12>U]&O9/XKI@%1
M5P;!=<LM\()V,!P,R04O><I1OT^\V">K"AL6^82_US(NG^FG\(3]3P.UU$^\
M<X:7<)XW_03UO5BPI]@JV@-7FH*]^^@KYHV;)>QB2],5-$TIWY^_4[IDEB2J
M1J!%2Z,M@26&42_,_DN&_I74(S(452[W ,BGW?Y$:CR(PR$CPSC&O**<TM:K
MV!B:<)6B(=99#81A&!9&9*&-*!I7!7C\2DU"?!.RF*RPJ%O*%=\KW&EJ^!.N
MX,QV%SSG7N"1"&OQR :14\SCP4!3%GD8YUGIHH>]'I@;#3SZUL7:>]8,"U#;
MIN7K]G2U?;%;[;XJ9FTS_6G>?I+<<+45)1Y9V*!K_SP.':K:-M].C*R:UKJ6
M!AMU,\SPRPB4-<#W&RG-<6(#=-]:TW\ 4$L#!!0    ( *J"=EC2=Y'P;P4
M +8/   9    >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;*576W/:.!1^UZ_0
MT,LD,P9\P1=HP@PA[6QFTFVFR;8/._L@; &:VA8KB9#LK]\C"8P!Q^EV'T"6
M=,YW[D?2Q8:+'W))J<)/15[*R\Y2J=6HWY?IDA9$]OB*EK SYZ(@"J9BT9<K
M04EFF(J\[[MNU"\(*SOC"[-V)\87?*UR5M([@>6Z*(AXOJ(YWUQVO,YNX2M;
M+)5>Z(\O5F1![ZGZ8W4G8-:O4#)6T%(R7F)!YY>=B3>Z2C2](?C&Z$;6OK&V
M9,;Y#SVYR2X[KE:(YC15&H' \$BG-,\U$*CQ]Q:S4XG4C/7O'?HG8SO8,B.2
M3GG^G65J>=E).CBC<[+.U5>^^8UN[0DU7LIS:?[QQM(&PPY.UU+Q8LL,&A2L
MM"-YVOJAQI"X+S#X6P;?Z&T%&2VOB2+C"\$W6&AJ0-,?QE3##<JQ4@?E7@G8
M9<"GQK<?)_<?[_'9 YGE5)Y?]!6 ZJU^N@6XL@#^"P">CS_S4BTE_EAF-#L$
MZ(,VE4K^3J4KOQ7QFJ8]''@.]ET_:,$+*A,#@Q>TF_CG9":5@"SXJ\E("S%H
MAM"5,9(KDM++#J2^I.*1=L;OWWB1^Z%%P4&EX* -??QE1051K%S@6PH)AB=2
M4B4Q*3-\R\B,Y4PQ*INT;L5MUGJ294S7 \DQ*VU1V_I:$)%I'=22XBDO5J1\
M?O\F\;WX@\2\TE K-6<E*5.*<ZVMQ Q4E7C.<RAPB<]8"1!\+8%2.I@^I72E
M8%=8<JRH* Q*QF3*UZ7"@$SKNIR/D/&#1%<D-X+N37N:YD1*-F>IH4*0)K28
M45&ERLF*CPZ4.4?6L2-4.7S_M=6.& KT%B7.<!C".'3B@8\^68NWXPDYR X\
M], 5.+5"&#JNEUB$.$"U0([0="T$+55-C^T*7G%APL'G-9];6?D> 5 #QXM]
M&'TG2;Q*OP:8@V =@'21%Z+?>=E-3]0Y=DN-S<%EC25R_#! L3.(AD=.:I!X
MR.JAG<N:[!LZ S^"T7.=((IP2Y6%596%K55F:VO*I6JJI%;>YDK: Z*;,N4%
MY*F"5"YT /Y_KAZ'(-5R]HOT"8YE77UO<> ,W<2,<1 W\]U .3-A--LRXB[N
MHOLEY$G75&2[D"X.$O2-"*9/B1HM/O/.F^B'7HCC88PFA4[$?TAS,FY+I8$_
MQC'X%!2C( -83S.DVMW;<YA.1KVW>. D@6O&,'&UNKC)#%:F^3H#P2OR;+RD
M^U5*A8);#;1&DB,0I=N4(D\ZCUDIUT);X@!_4>C;!5!A?0E2M+0;NL=Q:*8
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
MVLP5"L#WI91F_X(.JHOXZ']02P,$%     @ JH)V6%JHTW=G P  DP<  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C,N>&ULE57;;N,V$'WG5Q!JT": U[I8
M5E+7-N!<VMVVVTWM9!=%T0=:&EM$*-(E:2OIUW=(R5H'=0STP18O,X=G>&:&
MXUKI)U,"6/I<"6DF06GM9A2&)B^A8J:O-B!Q9Z5TQ2Q.]3HT&PVL\$Z5"),H
MRL**<1E,QW[M7D_':FL%EW"OJ=E6%=,OUR!4/0GB8+\PY^O2NH5P.MZP-2S
M/F[N-<["#J7@%4C#E:0:5I-@%H^NA\[>&WSF4)N#,761+)5Z<I,/Q22('"$0
MD%N'P/"S@QL0P@$AC;];S* [TCD>CO?H/_K8,98E,W"CQ!=>V'(27 6T@!7;
M"CM7]7MHX_$$<R6,_Z=U8YNF <VWQJJJ=48&%9?-ESVW]W#@<!6]X9"T#HGG
MW1SD6=XRRZ9CK6JJG36BN8$/U7LC.2Z=* NK<9>CGYTN'C[=_/+^TZ^W=_/%
M=_3N]\</#W_0\P>V%& NQJ'%(YQAF+=PUPU<\@9<G-"/2MK2T#M90/$:($1N
M'<%D3_ Z.8EX"WF?#N(>3:)D< )OT 4\\'B#_Q/PG[.EL1HSY*]C(3> Z7%
M5S4CLV$Y3 (L"P-Z!\'TVV_B+/KA!-VTHYN>0I_.7-9R^T+5BLX!2?+<0D$7
M5N5/E,F"SA>/=%8S79ACU$^"'Z<^VQ>H.]*6T!2.HX M .NPXV!><6"> ^6&
M,H.6 JO=C,BB9.A!O_CB0)_9#C36.CGG$K'5UJ"[N:#>C-XC,)!K)IC,H4=_
M9G+K:+3:DS2-R1G)^FE&?M),(AQ)OH](VD^&!"MT!=PMG2?D@@S[440^(U6W
M$$<9+F7]8?P5&[,*JB7H+K-(AK\S=,0,/B';L)-M>%*VWY1\M_/G]^@"[Q4#
M>^>:QUZYMQ4[B?N&8L9)]9^0>DX]O-8:!=E*#;E:2_X/4LA5A3W=,-\6<V4L
MJBJ8D\<J*@^8FU?,6X7QJ+.XGV(S$L(!U"7/2^Q:0M ET(-CU,Z1Z<>TWJO/
M6O5?@&E,%4F!H6N;9DW.<+FF?GM$'@\YWST[RD PL)0,+V,W&)(TNW*#C SB
MU TNR26*&/<&6714Q?"@45:@U_XY,'@'6VF;GMFM=B_.K&FT7\V;Y^HCTVLN
M#16P0M>H?XG"Z>8):"96;7S;72J+3=P/2WPU03L#W%\I9?<3=T#W#D__!5!+
M P04    " "J@G988+-LB>\"   E"P  &0   'AL+W=O<FMS:&5E=',O<VAE
M970R-"YX;6RUEFUOVC 0Q[^*E4G3)DW- P^%+D0JT&F\:(N:=7LQ[85)CL1J
M8F>V@4[:AY_MA$#5D+%VO ';\?WO9]_E<OZ&\0>1 DCTF&=4C*Q4RN+"MD64
M0H[%&2N JB=+QG,LU90GMB@XX-@8Y9GM.4[?SC&A5N";M3D/?+:2&:$PYTBL
M\ASS7V/(V&9DN=9VX8XDJ=0+=N 7.($0Y'TQYVIFURHQR8$*PBCBL!Q9E^[%
MV.UI [/C*X&-V!LC?90%8P]Z,HM'EJ.)((-(:@FL_M8P@2S32HKC9R5JU3ZU
MX?YXJ_[)'%X=9H$%3%CVC<0R'5D#"\6PQ*M,WK'-9Z@.9  CE@GSBS;EWL[0
M0M%*2)97QHH@)[3\QX_51>P9>(,#!EYEX!GNTI&AG&*) Y^S#>)ZMU+3 W-4
M8ZW@"-51"2573XFRD\'T*IS<S>9?9K<WZ/83&M^'LYNK,$3OIB QR<1[WY;*
MC=YL1Y7DN)3T#DBZ'KIF5*8"7=$8XJ<"MN*K(;TMY-AK59Q"=(8Z[@?D.5X'
MA9)Q0"$D*CEDBWJGOH*.4>\<5!<1)X5)$K9$XY50&X1 WR\70G*5-C^:[J#4
M[#9KZG?I0A0X@I&E7A8!? U6\/:-VW<^MA!W:^)NFWIPL\H7P#6LT'<AFOA*
MA;Y1T*_F.G =S[?7#6Y[M=O>D6Y54>!8$IH@489!H-_-$2EA>L]AFE'Z-4K_
M2!0.!>/_@-(_%N6\1CEO1;FG1$*LLA)+4$ES#9JL,65:=5Z8,H.:<G"")!^<
M@'A8$P]?G>3#9\$<'HBFZ^P*HM/J=X(ICG%K(-L57G@O[E[)=D\0RTKT/T-[
M.VCOU>&L))X6K0/QW%5WM[44!V&A>I/V<)ZBEKN[8NYV3Q'.UD_$2Z%WGP+W
MV&]!2SC_7O;MO<XE!YZ8_DR@B*VH+)N8>K7N 2_+SF>WO6P@KS%/"!4H@Z4R
M=<[.E7=>]F3E1++"]$$+)E5798:IZF.!ZPWJ^9(QN9UH!W5G'/P!4$L#!!0
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
M*S7T5A59I\T,Q6>V68VYTJW/#A-].0%A'/3W">=J;9@%BNM.\ M02P,$%
M  @ JH)V6$9$Q4-5!0  "B$  !D   !X;"]W;W)K<VAE971S+W-H965T,CDN
M>&ULM5I;;^(X%/XK5G:TFI%FF\2!4+J 1.-.%VEZ46EW'T;[8!(#T20Q:YO2
M[J]?Y]*$7'"A\KZ4))SSY9S//H?/=D<[RG[R-2$"O,11PL?&6HC-A6ER?TUB
MS,_HAB3RFR5E,1;REJU,OF$$!YE3')G0LEPSQF%B3$;9LWLV&=&MB,*$W#/
MMW&,V>LEB>AN;-C&VX.'<+46Z0-S,MK@%9D3\;2Y9_+.+%&","8)#VD"&%F.
MC:E]@> @=<@L_@S)CN]=@S25!:4_TYM9,#:L-"(2$5^D$%A^/!./1%&*)./X
MIP URG>FCOO7;^C?LN1E,@O,B4>CO\) K,?&N0$"LL3;2#S0W1^D2*B?XODT
MXME?L"ML+0/X6RYH7#C+".(PR3_Q2T'$GH/M'G" A0-L.O0..#B%@W.L0Z]P
MZ&7,Y*ED/" L\&3$Z ZPU%JBI1<9F9FW3#],TG&?"R:_#:6?F,QGU[>S;S-O
M>OL(IIYW]W3[.+N]!O=WWV?>[&K^%3R09Y)LB?STZ2H)L\'ZC(C 8<2_@-_
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
M0H.K+R:SK%NZ-K0H71LMA39-Z9:YF8(HK8,Y7PFA]X9-T,[5^ ]02P,$%
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
M8CNM'Y= 0^!* -_/&9.O [5 ^=&E_Q]02P,$%     @ JH)V6%?ERB!C P
MT@T  !D   !X;"]W;W)K<VAE971S+W-H965T,S4N>&ULM9=;;],P%,>_BA40
M8A(LEUXWVDI=QJ 2NXAN\(!X<)/3QB*Q@^U>QJ?'=K*LG5)O1.6EB1V?_SF_
MDY[X>+!F_)=( "3:9"D50R>1,C]U71$ED&%QS'*@ZLF<\0Q+->0+5^0<<&R,
MLM0-/*_K9IA09S0P<S=\-&!+F1(*-QR)999A?G\&*5L/'=]YF/A*%HG4$^YH
MD.,%3$'>Y3=<C=Q*)2894$$811SF0V?LGX9^2QN8%=\(K,76/=(H,\9^Z<$D
M'CJ>C@A2B*26P.JR@A#25"NI.'Z7HD[E4QMNWS^H7QAX!3/# D*6?B>Q3(9.
MWT$QS/$RE5_9^C.40!VM%[%4F%^T+M=Z#HJ60K*L-%819(065[PI$[%EX'?W
M& 2E0?#4H+W'H%4:F,RY160&ZQQ+/!IPMD9<KU9J^L;DQE@K&D+U:YQ*KIX2
M92='T\FGJ\G%)!Q?W:)Q&%[?7=U.KCZAF^LODW#R<?H.7<L$.)I0B>F"S%)
M8R% "O3V'"0FJ3A"[]'=]!R]?7V$7B-"T6W"E@+36 Q<J0+4;MRH#.:L"";8
M$XP?H$M&92+01QI#O"O@*K(*+WC .PNLBN<0':.6_PX%7M"J"2A\N7E@":=5
M9;ME]-I[]"[QAF3+#/VXA&P&_&==BJP*NJI/18XC&#JJ; 7P%3BC-Z_\KO>A
M#N] 8CNP[0JV;=1;>V#W_7-^C&="<E6_M?CM0^(?2&P'OU/A=ZSO>IPQ+LD?
M;+Y6;*Y*HTH$+DL(-E&ZC E=H 5C\9JDZ5%=2@H_'>-'?Y97(]\;N*MM4.N2
MG?"[5?C=EX</&[5M"#!UT*X+L=#JVD*TNFOX+GH53*\93*<.IO<\C-5=0YA^
M!=-O!M.M@^D_#V-UUQ#FI((Y:0;3JX,Y>1[&ZJXAC.\][J9>,YQ^[6[H/5_9
M=H=-@;;: ]\*=,MQK!I'U52Z(<OON>Z*A'7_L@O^ZQ?\4&J[^,$C?O ?]K!2
M]% I.)#:;@H>6Q;?WK-\-YTPQ BO@*O.'N'M_W@.G+"X-@EV6;^#[@'SNBXQ
MM)O^*[&[U1UGP!?FT"!0Q)94%IUD-5L=3,:F'7\R?Z8/+*;K?I0I3CN7F"\(
M%2B%N9+TCGNJI'EQ@"@&DN6F!Y\QJ3IZ<YNH0Q=PO4 ]GS,F'P;:076,&_T%
M4$L#!!0    ( *J"=EA? N19AP(  .D%   9    >&PO=V]R:W-H965T<R]S
M:&5E=#,V+GAM;*U446_:,!#^*Z>LFEJI:T*@W=1!) BEBU0H*FWW,.W!)!=B
MU;&9;:#[][.=D-$*T![VDOB<^SY_WSEWW8V0+ZI U/!:,JYZ7J'U\MKW55I@
M2=2%6"(W7W(A2Z)-*!>^6DHDF0.5S ^#X,HO">5>U'5[4QEUQ4HSRG$J0:W*
MDLC? V1BT_-:WG;C@2X*;3?\J+LD"YRA?EI.I8G\AB6C)7)%!0>)><_KMZ[C
MCLUW"<\4-VIG#=;)7(@7&R19SPNL(&28:LM S&N-,3)FB8R,7S6GUQQI@;OK
M+?O(>3=>YD1A+-AWFNFBYWWQ(,.<K)A^$)MO6/NYM'RI8,H]85/G!AZD*Z5%
M68.-@I+RZDU>ZSKL %I7!P!A#0C? SH' .T:T'9&*V7.UI!H$G6EV("TV8;-
M+EQM'-JXH=S>XDQ+\Y4:G(YFR>TD&25Q?_((_3B^?YH\)I-;F-[?)7%R,SN'
M$:$2G@E;(8@<1I03GE+"(.%*RY6Y3ZW@=(B:4*;.X!,\S89P>G(&)T YC"EC
MYK)4U]=&JSW13VM=@TI7>$!7*X2QX+I0<,,SS-X2^,9DXS3<.AV$1QF'F%Y
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
MI TPYW,A]-:P"=HI'?\!4$L#!!0    ( *J"=E@#)(?NV 4  #PC   9
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
M<]M2>EY>8V5'LJRX">9,JGNE:,;JY@>N ]3[!6-RV]&72_U?HO</4$L#!!0
M   ( *J"=E@!JW#AR08  +(I   9    >&PO=V]R:W-H965T<R]S:&5E=#0Q
M+GAM;+U:77/B-A1][Z_0T)W.[@P)MF2^4L(,"]EI9C9M9MEL'S)]$"""9VV+
MRB)D._WQE8RQL"T+DXCF(0'[ZOB>>Z^N3F0-MI1]CU>$</ 2!E%\W5AQOKYJ
MM>+YBH0XOJ1K$HD[2\I"S,57]M2*UXS@13(H#%K0<3JM$/M18SA(KMVSX8!N
M>.!'Y)Z!>!.&F/WX2 *ZO6ZXC?V%+_[3BLL+K>%@C9_(E/"']3T3WUH9RL(/
M213[- *,+*\;(_=JXGER0&+QS2?;^. SD%1FE'Z77VX7UPU'>D0",N<2 HL_
MSV1,@D B"3_^3D$;V3/EP,//>_1/"7E!9H9C,J;!G_Z"KZX;O098D"7>!/P+
MW?Y&4D)MB3>G09S\!MO4UFF ^2;F-$P'"P]"/]K]Q2]I( X&N*AB $P'P,(
MKULQ *4#4-T!7CH@"75K1R6)PP1S/!PPN@5,6@LT^2$)9C):T/<CF?<I9^*N
M+\;QX>>;T?1FV@2?B0@>&,4QX;'XYN.9'_C<)S' T2*].Z8Q!^\GA&,_B#^
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
M]'<$"/. OC_A7+T.S-:V^C*)?P-02P,$%     @ JH)V6'+92G3' @  ;0<
M !D   !X;"]W;W)K<VAE971S+W-H965T-#,N>&ULK55K3]LP%/TK5H8FD!AY
MM V,M9'Z  T)1$7']F':!S>Y:2P2.[.=EOW[73MI**6M)K0OB1_W'I]S;%_W
M5T(^J0Q D^<BYVK@9%J7EZZKX@P*JLY$"1QG4B$+JK$K%ZXJ)=#$)A6Y&WA>
MZ!:4<2?JV[&IC/JBTCGC,)5$545!Y9\1Y&(U<'QG/?# %IDV V[4+^D"9J ?
MRZG$GMNB)*P KIC@1$(Z<(;^Y3@T\3;@.X.5VF@3HV0NQ)/IW"0#QS.$((=8
M&P2*OR6,(<\-$-+XW6 Z[9(F<;.]1K^VVE'+G"H8B_P'2W0V<"X<DD!*JUP_
MB-57:/3T#%XL<F6_9-7$>@Z)*Z5%T20C@X+Q^D^?&Q\V$OQP3T+0) 3;"=T]
M"9TFH6.%ULRLK G5-.I+L2+21".::5AO;#:J8=SLXDQ+G&68IZ/;J^'L:G9*
M[DN05#.^(+> KBARKS.0Y(;7!\4X?CP!35FN3L@G\CB;D..C$W)$&"??,E$I
MRA/5=S52,L!NW"P_JI</]BSO!^1.<)TI<L432%X#N*BE%12L!8V"@X@3B,](
MQS\E@1=T=A :_WMZ<(!.I_6W8_$Z>_#&5&5D2EE"T$@R+$3%M4);X[Q"O<8]
M])G<H>>5!+P=FHBTW@)RR^B<Y4PSW(V?P[G2$L_\KUT>UQ2ZNRF8.G"I2AK#
MP,&+KD NP8D^?O!#[\LN?_X3V"NWNJU;W4/HT<LIC(UO*=8812I5&R7:R=P>
MT5U.U/ ]"V\*V#+J?.[U^NYR4^&.H(MSOPUZQ;S7,N^]GWG*..4Q'.!=@X<;
ME+PMTF\C]C .6\;A0<;7EM2[&8=O3/2W?=X1TMWB[&Y4K@+DPA9T16)S3>H[
MWXZV;\;0ELJM\1&^)77I?X&I'Z([*A>,*Y22(J1W=HZ$9%W<ZXX6I:V/<Z&Q
MVMIFAN\A2!. \ZD0>MTQ"[0O;/074$L#!!0    ( *J"=EB:&\_CH@(  &8(
M   9    >&PO=V]R:W-H965T<R]S:&5E=#0T+GAM;*U6:V^;,!3]*Q:3IE;J
MPBN$KB-(:=*JDSJM2K95T[0/#MP$JV SVTG:?S_;$!0J0C>U7\"/>X[O.5SK
M$NT8?Q 9@$2/14[%V,JD+"]L6R09%%@,6 E4[:P8+[!44[ZV1<D!IP94Y+;G
M.".[P(1:<636[G@<L8W,"84[CL2F*#!_NH2<[<:6:^T7YF2=2;U@QU&)U[
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
M5UUOVC 4_2M65DVMU#9?$&@'D8!V6J6Q5H5NDZ8]F.0"41.;V0:Z?S_;"8%
MR-8I?2&Q<^_Q/<<GY+JSINR9SP$$>DEBPKO&7(C%M6GR8 X)YI=T 40^F5*6
M8"&';&;R!0,<ZJ0D-AW+\LP$1\3P.WKN@?D=NA1Q1."!(;Y,$LQ^]R&FZZYA
M&YN)QV@V%VK"]#L+/(,1B*?% Y,C,T<)HP0(CRA!#*9=HV=?#VQ7)>B(KQ&L
M^<X]4E0FE#ZKP5W8-2Q5$<00" 6!Y64% XACA23K^)6!&OF:*G'W?H/^49.7
M9":8PX#&WZ)0S+M&VT A3/$R%H]T_0DR0DV%%]"8ZU^T3F-;GH&")1<TR9)E
M!4E$TBM^R8382;"/)3A9@K.?T#B2X&8)6CDSK4S3NL$"^QU&UXBI:(FF;K0V
M.ENRB8C:QI%@\FDD\X1_]V5P/[Q%X][WV]$YNB,!30#U0?H#-J,Q?@&.3F]
MX"CF9^@"/8UNT.G)&3I!$4'C.5UR3$+>,84L2,&:0;9X/UW<.;*X[: A)6+.
MT2T)(2P"F)))3L?9T.D[E8@W$%PBUSY'CN6X)04-_CW=J2C'S=5U-9Y[3-U4
MP=.8<BG<))4U2B>%EO5';\(%DV;^629?BMXH1U=O^#5?X "ZAGR%.; 5&/[[
M=[9G?2BC7A-808A&+D2C"MT?WX][G\L8IFE-G:;^<E9^H]EH=LS5;N6'07;#
M:N=!A8J:>47-RHJ>2"0@1".!A=J&(2038*6;4(GSVDVH":Q V<LI>V_J1J].
M(6H"*PC1RH5H5>[]7X4H8Y]">CLF=%O>OE,/@UJN6V[4=EYLN[+8T4)^C"L-
M6IG_VGVI":Q ]2JG>O6F!KVJ4XB:P I"V-;VLVS5;]$,<]=^SKY#2V(NVD<L
M:N]T$79EN0-,<(@K75J-\-K=J0NMR-?9\G7>U*D9?%UBU(16%&/;Y-B5K<-_
M>M4]^*BWF@=F+0O:__";.]UO FRF#P4<!71)1-HYYK/YP:.GV^V]^;XZD.BN
M>@N3GF:&F,TBPE$,4PEI7;9D12P](*0#01>ZQYY0(3MV?3N7ARI@*D ^GU(J
M-@.U0'Y,\_\ 4$L#!!0    ( *J"=E@<A*^P*00  /4.   9    >&PO=V]R
M:W-H965T<R]S:&5E=#0Y+GAM;*V7;6_B.!#'OXJ56YU:J6WB! +T *D+71W2
M/E0+>W?2Z5Z88,"J8[.V@?;;WSA)0TJ<;%?:-VT2YC_YS3@S8P^/4CWJ+:4&
M/:5<Z)&W-69WZ_LZV=*4Z!NYHP)^64N5$@.W:N/KG:)DE8E2[H=!$/LI8<(;
M#[-G#VH\E'O#F: /"NE]FA+U_)YR>1QYV'MY\)5MML8^\,?#'=G0.37?=@\*
M[OS2RXJE5&@F!5)T/?+N\.T$]ZP@L_B+T:.N7",;RE+*1WLS6XV\P!)13A-C
M71#X=Z 3RKGU!!S?"Z=>^4XKK%Z_>/^0!0_!+(FF$\G_9BNS'7E]#ZWHFNRY
M^2J/?](BH*[UETBNL[_H6-@&'DKVVLBT$ -!RD3^GSP5B:@(<*=!$!:"\*V"
MJ!!$6: Y61;6E!@R'BIY1,I:@S=[D>4F4T,T3-AEG!L%OS+0F?'L\^3+IWNT
MN/OG?GZ%9B*1*44+\H3NUVO(M$9RC18TW4D%BXRF#)XJ*A*JT2S=V340&S2E
M\%#1555^IS4%-1$K])&1)>/,,!!=3*DAC.M+=(V^S:?HXMTE>H>80(NMW&NP
MUD/?0%@6SD^*$-[G(80-(4QI<H,B?(7"((P<\LG;Y>%KN0_)+#,:EAD-,W]1
MH[\B&RS/AH%LD#P;_]XMM5&0M?]<4>9N.VZWMIQO-62<CCRH5TW5@7KCWW_#
M<?"'*^9?Y.Q5!J(R U&;]_%,'*@P4CV[HLREW4QJ>\QAW,&0]D,5WF'3PZ7-
M*Z9.R=1I99H;F3Q>VX)?(5@6Z(*:V#[B0LP]Q977=[MGA'630>0&[): W5;
MNR21>P$?B:()90>RY-3%UJV]N'^&5K? '3=:7*+%[;DCG%HNLU?"69]Q[96=
MP1F5PZ3GINJ55+U6*NCBT*,%-$EE.](S@LH2FF>KBC8PP'PNM;:]Y<MDYJ+N
MU9>Y]B76;>+^P,W=+[G[K=R?83;#%%8DZYV6D3J3VJ^O8_\<KVX3Q@V%,BCQ
M!C_Z#M4>BH0^V1IQHPWJ:+W@#*UN$S=4" Y.LRIH9?M(20-1(7R%%)Q7ALNH
M&S9 508H;H5:2$.XW3DT='TG+G84Z2 ^YW58]09! _!I/N'6Y@]9U/H6'0C?
MY[5"..SE",QT)VE88[C&W<XYJ<L*=QL^17P:)+A]DOPHMU=(V&I:OSF:J)[1
MJ'->50ZK.&JH>GP:0+CST_L"7MD:M6\.<.MX^]G=P:_R]CH5IU&'VV?=@[(-
MT#QGVT/Z?<]V<# PL,[PMH0USF5<'VW5?4$16MVH>?%.$Q"WC\#F#[&RA$YF
MU^"K,=>-FIE/\Q&W#T@[:$KBLF;0Q0OQ\Z43N%?;?/7KP'6C\[;D5\XD]D#X
MB:@-$QIQN@9-<-,#L<K/6/F-D;OLF+*4!@X]V>46SJ5460/X?2VE>;FQ)Y_R
MI#O^'U!+ P04    " "J@G98U):7&VX#  #C"@  &0   'AL+W=O<FMS:&5E
M=',O<VAE970U,"YX;6RM5EUOVS84_2N$AA4ND$F4Y*^DMH#$2;$\9#7BIBTP
M[(&1KBRB%.F1M)W^^Y&4K3@>+?>A+[9(\1R><W5Y>2=;(;^K"D"CEYIQ-0TJ
MK5=74:3R"FJB0K$";MZ40M9$FZ%<1FHE@10.5+,HP7@8U83R()NXN;G,)F*M
M&>4PETBMZYK('S? Q'8:Q,%^XI$N*VTGHFRR(DM8@'Y:S:4912U+06O@B@J.
M))33X#J^FL4.X%9\H;!5!\_(6GD6XKL=W!?3 %M%P"#7EH*8OPW,@#'+9'3\
MNR,-VCTM\/!YS_[1F3=FGHF"F6!?::&K:3 .4 $E63/]*+9_PL[0P/+E@BGW
MB[:[M3A ^5II4>_ 1D%->?-/7G:!. #$PQ. 9 =(C@']$X!T!TB=T4:9LW5+
M-,DF4FR1M*L-FWUPL7%HXX9R^QD76IJWU.!T=O_7[-/#'?I\_>UN<8$>(1<\
MIXP2%V-1HKNR!!=I])F\H$>B 952U&BAB5YK(7\T<[U;T(0R]7X2::/*<D?Y
M3L%-HR YH2!.T(/@NE+HCA=0O"6(C)W64[+W=)-T,MY"'J(TOD )3E*/H-G/
MPY,..6D;XM3QI3\18O3W];/2TB3O/[Y(-41]/Y$]T5=J17*8!N;(*I ;"+)W
MO\5#_,'G\A>1O?'<;SWWN]BSU_20-CW^0!^A $D8>@H7(:(\%S4@35Y\06B8
MXR9C;1G:9#A,XDFT.71W;M4;V8-6]N"L;$"$%XB)W*@U"D'Y-#8T,7ZS.QZD
M1R*[=^OA<(A_?]\1[F&K>]C)- =3T3APC6S!C(QL5%!S<B7PW&]@Z#60](\,
M>)?%<>H/\ZB5.^J4.ZL(7X)) [0A;-W4&L+,C4*,7)_:;KK>,!S_+XZ-_C/
M!(=I]Q<8MY;&G53W7)MH*XV,E2?C0IIRR%W-G M%K4.?KVY.DQ^G?(U]V8\3
M_V>Y;#U<GO&P/Y8HEU!0[<V<;HY>XHEHH_G2H]DO.,:OMQ?NW.Z3KD!>( [:
M>_%T@WMQ.#JA]1P2AX/NO(D/+N"XD^OUAK6ETFLC]I["T7%)/+$NN3R*<G30
M+M0@EZZ+4B@7:ZZ;6[:=;3NU:]>?',W?V [.M2&O-$W[]T#DDG*%&)2&$H<C
M4PEETU$U RU6KBEY%MJT..ZQ,ETH2+O O"^%T/N!W:#M:[/_ %!+ P04
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
M4;4/[NQ'8;-/A>O_\(U^ U!+ P04    " "J@G98EXJ[',     3 @  "P
M %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=
MOZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'
MTD!$VV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z3'%":4A+,P[P
MS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T
M>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0    ( *J"=E@/EL IUP0
M *(E   /    >&PO=V]R:V)O;VLN>&ULQ9I;;^(X&$#_BL7+=J7.0B[TIF&D
M$-Q.M)"P)*VV3\A-3+$FL9$=VMGY]>N$8<>9,I_VQ<T3^()S8F(?^W,^O@KY
MY4F(+^AK57(U&6SK>G<S'*I\2RNB_A [RG7)1LB*U#HIGX=J)RDIU);2NBJ'
M[FAT,:P(XX-/'X]M+>703(B:YC437&<V&0^,OJH?Y4T2O3#%GEC)ZG\F@_9[
M20>H8IQ5[!LM)H/1 *FM>/TL)/LF>$W*-)>B+"<#YU#P0&7-\C?9:0.9D2?5
MYM3D:44TR&1P,=(-;IA4=5NC;9]HQA>J*Q]2^UK<LK*F<D9J>B?%?L?X<].,
MOHNA<1MM/QP_#YUX(_]/-XK-AN5T)O)]17E]Z$=)RP:0JRW;J0'BI**3P;$*
M(KQ F->ZDU#$#TWINLV=ZDM'Q>&N:XUK]*&\8;I 1D4+;@\RU&E1LD)?O4!3
M4A*>4]1VKC( 70#0[0T0G2V) >D!D-X[0J8-1/,#A<0&)3LJ#4@?@/1[@PR)
MVAJ08P!R;!VRH%QIPI.X!N0% 'EA%W*&TW 5+;,HB5%RBZ;W:13C-#7@+@&X
M2[MP:7071[=1&,09"L(PN8^S*+Y#RV0>A1$V(:\ R"N[D--@'L0A1NEGC#,4
M)HME$N,X,^FN ;IKNW1S'*2=GG)&T P]LDL3)QE.T3)X#*9SC()XAN9)?/<A
MPZL%FN&IB0F*Q+))\&(Y3QXQ1E,<X]LH:TG3X$$_?)I^;F)".G$L^R2*]=.&
M41;\W?V'(7LXMO61+!91MF@&0-MK8=*.61S_-& =R!Z.97V8\\IQQFM(0XV]
M"C(3$_*'8UD@:9:$?WY.YC.\2G]#^*_[*'LTV2!M.):]$7'%"BI1)DFA5Z4H
MD)+PYX.&34;('DZ?^EB[)B;D#\>R0&!,S\2$1.)8-LFO/(?.](:E(?FQQ(84
MXUI6S$%XWZ'4[R86I!37LE+,N?HD'+@OL2R24Q/-24C(+*YEL_QBI8K.9K0F
MK#0Q(;>X[^B6MZ/9-S$AM[BVW0)BCDU,2#.N9<W F!<F)F0:MU?37)J8D&G<
M7DUS96)"IG$MFP;&O#;C))!I/,NF@3#7[3;K/TS(/)YE\\"8CHD).<BS[2 0
MTURL>6!TS+*%8$QSL>9!%O)ZM-#:,2WD01;R>K30VC$MY$$6\GJTT-HQ+>1!
M%O)ZM-#:,2WD01;R>@J8G:.(OW3BHAYD(:^G_<XY2K="UF8@'+*0_R[[G7,T
MIT11%"A%:Z53C+1G6<S$A"SD6[;0$7-!ZKULCH_$YCMRBVIB0A;R+5OHB-D<
M=>A2_GR 5"BIMU0B$Q.RD&_90MT_/:.R:D_F9DSE8L\[SR9X2F/90F"XMQ.
M\2$+^98M!(9[NYB0A7S;(3<CA'".EE(T"((CW9B>.7,3$[*0;]E"74P-)BJ*
MIE2W17_&A"SD6[;02<R,?$5XLZ%Y9PA!%O(M6ZB+N:*YX+F>V-N*>@XU3SHA
M"XTM6PC$[ RA,62A\3ONA=X$_KN8D(7&/<3CSI$[<KQVFC<Q(0N-;>^%3F*F
M^ZHB4@O>Q(0L-+:]%SJ)&0O^X86JV@Q<C\&W!7HX[6G6FD3/FRNZ,S$A"XU;
M"PV/[P05=,,X+6)]":7S<U+F2XF:C\/QI3]N#A4V^[(,=5["YX(4QU>,CJ]'
M??H74$L#!!0    ( *J"=E@,/Y#\Y0$  '\A   :    >&PO7W)E;',O=V]R
M:V)O;VLN>&UL+G)E;'/-VCM.PT 4A>&M1%X D_N8\%!"14.+V( 5)@^1Q)9G
M$,GNB4(1CD5!@^94UMCR]=_XDV5[_I)V;=EVA[S9]GERW.\.>=%L2ND?0LC+
M3=JW^:;KT^%\9-4-^[:<E\,Z].WRO5VGH-/I+ P_9S2/\Y\S)Z^G/OUE8K=:
M;9?IJ5M^[-.A_#(X?';#>]ZD5)K):SNL4UDTX;B[[L[ALI&;\^1F\ORV:(;G
M-VE"[2"%(*T?9!!D]8,<@KQ^4(2@6#]H!D&S^D&W$'1;/^@.@N[J!]U#T'W]
M()FBC%."I!'6!%H+<BT$7@N"+01B"Y(M!&8+HBT$:@NR+01N"\(M!'(+TBT$
M=@OB+01Z*^JM!'HKZJT$>NOH89M ;T6]E4!O1;V50&]%O95 ;T6]E4!O1;V5
M0&]%O95 ;T6]E4!O0[V-0&]#O8U ;T.]C4!O&[TL(=#;4&\CT-M0;R/0VU!O
M(]#;4&\CT-M0;R/0VU!O(]#;46\GT-M1;R?0VU%O)]#;46\GT-M'+[L)]';4
MVPGT=M3;"?1VU-L)]';4VPGT=M3;"?2.J'<DT#NBWI% [XAZ1P*](^H="?2.
MJ'<DT#N./E82Z!U1[_B?>N=RVJ5\[?E>X_7_D^IR/C==+W]9?N\<W>,7G /\
M;_'X!5!+ P04    " "J@G98C^&W:=,!   V(0  $P   %M#;VYT96YT7U1Y
M<&5S72YX;6S-VLENPC 4!=!?0=E6Q'@('01LVFY;%OT!-WE 1!);MJ'P]W7"
M(+6BJ(A*O1LB8OO=%ULZFV3TMK7D>YNZ:OPX681@'QCS^8)J[5-CJ8DC,^-J
M'>)?-V=6YTL])R8&@R'+31.H"?W0UD@FHR>:Z545>L^;>-N7IADGCBJ?]!YW
M$]NL<:*MK<I<ASC.UDWQ+:6_3TCCRFZ.7Y36W\0)"3N9T([\'+!?][HFY\J"
M>E/MPHNNXRRVJ9@/VXI\>K[$B1[-;%;F5)A\5<<EJ;>.=.$71*&NTEW1F_/)
M(>XP[7[YU?E=F7.!<>;4&>OCB3FZ/.YP).WJOHV%R(7R_",>$V/IJY^/VM,N
MJ/AE=MS>#^.6W7EXUEVNW^.O9WRL?V$? J0/"=*' NDC ^EC"-+'+4@?=R!]
MW(/TP0<HC:"(RE%(Y2BF<A14.8JJ'(55CN(J1X&5H\@J4&05*+(*%%D%BJP"
M15:!(JM D56@R"I09!4HLDH4626*K!)%5HDBJT215:+(*E%DE2BR2A19)8JL
M"D56A2*K0I%5H<BJ4&15*+(J%%D5BJP*15:%(FN&(FN&(FN&(FN&(FN&(FN&
M(FOVG[*^&[/\ZS?Y[36M==D<\EGWN<3D$U!+ 0(4 Q0    ( *J"=E@'04UB
M@0   +$    0              "  0    !D;V-0<F]P<R]A<' N>&UL4$L!
M A0#%     @ JH)V6" XS6[M    *P(  !$              ( !KP   &1O
M8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ JH)V6)E<G",0!@  G"<  !,
M             ( !RP$  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4
M" "J@G98$MQHX*H'   ),@  &               @($,"   >&PO=V]R:W-H
M965T<R]S:&5E=#$N>&UL4$L! A0#%     @ JH)V6&N!9^(O!P  HQX  !@
M             ("![ \  'AL+W=O<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4
M Q0    ( *J"=EC?]9BB( ,  *4)   8              " @5$7  !X;"]W
M;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    " "J@G98"HC0I8D%  !T
M%0  &               @(&G&@  >&PO=V]R:W-H965T<R]S:&5E=#0N>&UL
M4$L! A0#%     @ JH)V6/L.V=?4!P  8R(  !@              ("!9B
M 'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( *J"=EB"X/,B
M= <  -XN   8              " @7 H  !X;"]W;W)K<VAE971S+W-H965T
M-BYX;6Q02P$"% ,4    " "J@G98A5\S:]8%  "W#   &
M@($:,   >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%     @ JH)V
M6,N_SZX.(P  VV<  !@              ("!)C8  'AL+W=O<FMS:&5E=',O
M<VAE970X+GAM;%!+ 0(4 Q0    ( *J"=E@IX$)A6 0  &8)   8
M      " @6I9  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"% ,4
M" "J@G98SZFI1[T%  #+#@  &0              @('X70  >&PO=V]R:W-H
M965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( *J"=EA*2<Y/.00  !4)   9
M              " @>QC  !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL4$L!
M A0#%     @ JH)V6#>D/.D;!   P D  !D              ("!7&@  'AL
M+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    " "J@G983E@;YV0)
M   =%@  &0              @(&N;   >&PO=V]R:W-H965T<R]S:&5E=#$S
M+GAM;%!+ 0(4 Q0    ( *J"=EC@4QO.'@0  /((   9              "
M@4EV  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#%     @ JH)V
M6/A:NN2Y!0  #@T  !D              ("!GGH  'AL+W=O<FMS:&5E=',O
M<VAE970Q-2YX;6Q02P$"% ,4    " "J@G98.A::E,T)  !'&P  &0
M        @(&.@   >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+ 0(4 Q0
M   ( *J"=EC!JWB*0P(  ) &   9              " @9**  !X;"]W;W)K
M<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ JH)V6 GCARV()   9'0
M !D              ("!#(T  'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6Q0
M2P$"% ,4    " "J@G98#41&[M #  "#"   &0              @('+L0
M>&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( *J"=EAG.QG=
M8P0  '<)   9              " @=*U  !X;"]W;W)K<VAE971S+W-H965T
M,C N>&UL4$L! A0#%     @ JH)V6-)WD?!O!0  M@\  !D
M ("!;+H  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4    " "J
M@G98*&*W*3T&  "4#P  &0              @($2P   >&PO=V]R:W-H965T
M<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( *J"=EA:J--W9P,  ),'   9
M          " @8;&  !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL4$L! A0#
M%     @ JH)V6&"S;(GO @  )0L  !D              ("!),H  'AL+W=O
M<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    " "J@G98"B7E$U$"  #S
M!   &0              @(%*S0  >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM
M;%!+ 0(4 Q0    ( *J"=E@VADZ)O0(  #8)   9              " @=+/
M  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%     @ JH)V6 JO
M)Q*_ @  I D  !D              ("!QM(  'AL+W=O<FMS:&5E=',O<VAE
M970R-RYX;6Q02P$"% ,4    " "J@G98JAI8// "  #Z"   &0
M    @(&\U0  >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4 Q0    (
M *J"=EA&1,5#504   HA   9              " @>/8  !X;"]W;W)K<VAE
M971S+W-H965T,CDN>&UL4$L! A0#%     @ JH)V6-;2R1LR @  MP0  !D
M             ("!;]X  'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q02P$"
M% ,4    " "J@G98A>=2P4H#   [$   &0              @('8X   >&PO
M=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( *J"=E@1AN4$8P(
M &,%   9              " @5GD  !X;"]W;W)K<VAE971S+W-H965T,S(N
M>&UL4$L! A0#%     @ JH)V6/1G-,9R @  U 4  !D              ("!
M\^8  'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4    " "J@G98
MK=(WHZ $  " $0  &0              @(&<Z0  >&PO=V]R:W-H965T<R]S
M:&5E=#,T+GAM;%!+ 0(4 Q0    ( *J"=EA7Y<H@8P,  -(-   9
M      " @7/N  !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L! A0#%
M  @ JH)V6%\"Y%F' @  Z04  !D              ("!#?(  'AL+W=O<FMS
M:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    " "J@G98[B/JV<$"  !R"
M&0              @('+]   >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;%!+
M 0(4 Q0    ( *J"=EBPBU]990(  +$%   9              " @</W  !X
M;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @ JH)V6 ,DA^[8
M!0  /",  !D              ("!7_H  'AL+W=O<FMS:&5E=',O<VAE970S
M.2YX;6Q02P$"% ,4    " "J@G986O^.<_8"  !7"   &0
M@(%N  $ >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0    ( *J"
M=E@!JW#AR08  +(I   9              " @9L# 0!X;"]W;W)K<VAE971S
M+W-H965T-#$N>&UL4$L! A0#%     @ JH)V6!,N/<E" P  I0P  !D
M         ("!FPH! 'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q02P$"% ,4
M    " "J@G98<ME*=,<"  !M!P  &0              @($4#@$ >&PO=V]R
M:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( *J"=EB:&\_CH@(  &8(
M   9              " @1(1 0!X;"]W;W)K<VAE971S+W-H965T-#0N>&UL
M4$L! A0#%     @ JH)V6)C"D(!R P  <PT  !D              ("!ZQ,!
M 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4    " "J@G98[E0.
MKX8#   %#@  &0              @(&4%P$ >&PO=V]R:W-H965T<R]S:&5E
M=#0V+GAM;%!+ 0(4 Q0    ( *J"=EA])>'DIP,  .,-   9
M  " @5$; 0!X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L! A0#%     @
MJH)V6 HS]H0T P  L@T  !D              ("!+Q\! 'AL+W=O<FMS:&5E
M=',O<VAE970T."YX;6Q02P$"% ,4    " "J@G98'(2OL"D$  #U#@  &0
M            @(&:(@$ >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;%!+ 0(4
M Q0    ( *J"=EC4EI<;;@,  .,*   9              " @?HF 0!X;"]W
M;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#%     @ JH)V6/4@GU,& P
M[P@  !D              ("!GRH! 'AL+W=O<FMS:&5E=',O<VAE970U,2YX
M;6Q02P$"% ,4    " "J@G98 5S ><L$  "\'0  &0              @('<
M+0$ >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0    ( *J"=EA#
MHE/W40H  'N5   9              " @=XR 0!X;"]W;W)K<VAE971S+W-H
M965T-3,N>&UL4$L! A0#%     @ JH)V6#A=')E/ P  Q@H  !D
M     ("!9CT! 'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6Q02P$"% ,4
M" "J@G98RD0RW_\#  "&$0  &0              @('L0 $ >&PO=V]R:W-H
M965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( *J"=EBD801K(P4  -DG   9
M              " @2)% 0!X;"]W;W)K<VAE971S+W-H965T-38N>&UL4$L!
M A0#%     @ JH)V6+X[PGPX P  [A,   T              ( !?$H! 'AL
M+W-T>6QE<RYX;6Q02P$"% ,4    " "J@G98EXJ[',     3 @  "P
M        @ '?30$ 7W)E;',O+G)E;'-02P$"% ,4    " "J@G98#Y; *=<$
M  "B)0  #P              @ '(3@$ >&PO=V]R:V)O;VLN>&UL4$L! A0#
M%     @ JH)V6 P_D/SE 0  ?R$  !H              ( !S%,! 'AL+U]R
M96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ JH)V6(_AMVG3 0
M-B$  !,              ( !Z54! %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&
2     $  0 !W$0  [5<!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<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>73
<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>75
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>145</ContextCount>
  <ElementCount>330</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>57</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>9</UnitCount>
  <MyReports>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000100 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/DocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>010000 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>010100 - Statement - Consolidated Balance Sheets (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals</Role>
      <ShortName>Consolidated Balance Sheets (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>020000 - Statement - Consolidated Statements of Operations and Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome</Role>
      <ShortName>Consolidated Statements of Operations and Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>030000 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>040000 - Statement - Condensed Consolidated Statements of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>Condensed Consolidated Statements of Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>060100 - Disclosure - DESCRIPTION OF BUSINESS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/DescriptionOfBusiness</Role>
      <ShortName>DESCRIPTION OF BUSINESS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>060200 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPolicies</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>060300 - Disclosure - BALANCE SHEET COMPONENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BalanceSheetComponents</Role>
      <ShortName>BALANCE SHEET COMPONENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>060400 - Disclosure - LEASES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/Leases</Role>
      <ShortName>LEASES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>060500 - Disclosure - NOTES PAYABLE AND LONG-TERM DEBT</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://tandyleather.com/role/NotesPayableAndLongtermDebt</Role>
      <ShortName>NOTES PAYABLE AND LONG-TERM DEBT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>060600 - Disclosure - EMPLOYEE BENEFIT AND SAVINGS PLANS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/EmployeeBenefitAndSavingsPlans</Role>
      <ShortName>EMPLOYEE BENEFIT AND SAVINGS PLANS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>060700 - Disclosure - INCOME TAXES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/IncomeTaxes</Role>
      <ShortName>INCOME TAXES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>060800 - Disclosure - COMMITMENTS AND CONTINGENCIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/CommitmentsAndContingencies</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>060900 - Disclosure - SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantBusinessConcentrationsAndRisk</Role>
      <ShortName>SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>061000 - Disclosure - STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/StockholdersEquity</Role>
      <ShortName>STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>061100 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>070200 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesPolicies</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>080200 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesTables</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tandyleather.com/role/SignificantAccountingPolicies</ParentRole>
      <Position>19</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>080300 - Disclosure - BALANCE SHEET COMPONENTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BalanceSheetComponentsTables</Role>
      <ShortName>BALANCE SHEET COMPONENTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tandyleather.com/role/BalanceSheetComponents</ParentRole>
      <Position>20</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>080400 - Disclosure - LEASES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/LeasesTables</Role>
      <ShortName>LEASES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tandyleather.com/role/Leases</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>080700 - Disclosure - INCOME TAXES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/IncomeTaxesTables</Role>
      <ShortName>INCOME TAXES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tandyleather.com/role/IncomeTaxes</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>081000 - Disclosure - STOCKHOLDERS' EQUITY (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/StockholdersEquityTables</Role>
      <ShortName>STOCKHOLDERS' EQUITY (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tandyleather.com/role/StockholdersEquity</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>090100 - Disclosure - DESCRIPTION OF BUSINESS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/DescriptionOfBusinessDetails</Role>
      <ShortName>DESCRIPTION OF BUSINESS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tandyleather.com/role/DescriptionOfBusiness</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>090200 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Deconsolidation of Foreign Subsidiaries (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesDeconsolidationOfForeignSubsidiariesDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Deconsolidation of Foreign Subsidiaries (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>090202 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Error Correction (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Error Correction (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>090204 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Accounts Receivable and Expected Credit Losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Accounts Receivable and Expected Credit Losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>090206 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Foreign Currency Translation and Transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Foreign Currency Translation and Transactions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>090208 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Revenue Recognition (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Revenue Recognition (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>090210 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Discounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesDiscountsDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Discounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>090212 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Property and Equipment, Net of Accumulated Depreciation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Property and Equipment, Net of Accumulated Depreciation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>090214 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>090216 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Impairment of Long-lived Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesImpairmentOfLonglivedAssetsDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Impairment of Long-lived Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>090218 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Earnings Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Earnings Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>090220 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Other Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Other Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>090222 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Fair Value of Financial Instruments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Fair Value of Financial Instruments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>090224 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Shipping and Handling Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Shipping and Handling Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>090226 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Advertising (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantAccountingPoliciesAdvertisingDetails</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES, Advertising (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>090300 - Disclosure - BALANCE SHEET COMPONENTS, Inventory, Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails</Role>
      <ShortName>BALANCE SHEET COMPONENTS, Inventory, Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>090302 - Disclosure - BALANCE SHEET COMPONENTS, Short-term Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails</Role>
      <ShortName>BALANCE SHEET COMPONENTS, Short-term Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>090400 - Disclosure - LEASES, Lease Assets, Liabilities and Lease Cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails</Role>
      <ShortName>LEASES, Lease Assets, Liabilities and Lease Cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>090402 - Disclosure - LEASES, Maturity of Lease Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails</Role>
      <ShortName>LEASES, Maturity of Lease Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>090404 - Disclosure - LEASES, Operating Leases Other Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/LeasesOperatingLeasesOtherInformationDetails</Role>
      <ShortName>LEASES, Operating Leases Other Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>090406 - Disclosure - LEASES, Lease Term and Discount Rate (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails</Role>
      <ShortName>LEASES, Lease Term and Discount Rate (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>090500 - Disclosure - NOTES PAYABLE AND LONG-TERM DEBT (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails</Role>
      <ShortName>NOTES PAYABLE AND LONG-TERM DEBT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tandyleather.com/role/NotesPayableAndLongtermDebt</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>090600 - Disclosure - EMPLOYEE BENEFIT AND SAVINGS PLANS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails</Role>
      <ShortName>EMPLOYEE BENEFIT AND SAVINGS PLANS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tandyleather.com/role/EmployeeBenefitAndSavingsPlans</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>090700 - Disclosure - INCOME TAXES, Provision for Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails</Role>
      <ShortName>INCOME TAXES, Provision for Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>090702 - Disclosure - INCOME TAXES, Income Before Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails</Role>
      <ShortName>INCOME TAXES, Income Before Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>090704 - Disclosure - INCOME TAXES, Income Tax Effects of Temporary Differences Impacting Deferred Income Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>INCOME TAXES, Income Tax Effects of Temporary Differences Impacting Deferred Income Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>090706 - Disclosure - INCOME TAXES, Reconciliation of Effective Tax Rate from Statutory Rate (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails</Role>
      <ShortName>INCOME TAXES, Reconciliation of Effective Tax Rate from Statutory Rate (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>090708 - Disclosure - INCOME TAXES, Reconciliation of Uncertain Tax Positions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/IncomeTaxesReconciliationOfUncertainTaxPositionsDetails</Role>
      <ShortName>INCOME TAXES, Reconciliation of Uncertain Tax Positions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>090900 - Disclosure - SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails</Role>
      <ShortName>SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tandyleather.com/role/SignificantBusinessConcentrationsAndRisk</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>091000 - Disclosure - STOCKHOLDERS' EQUITY, 2013 and 2023 Restricted Stock Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails</Role>
      <ShortName>STOCKHOLDERS' EQUITY, 2013 and 2023 Restricted Stock Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>091002 - Disclosure - STOCKHOLDERS' EQUITY, Summary of Activity for Restricted Stock and RSU Awards (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails</Role>
      <ShortName>STOCKHOLDERS' EQUITY, Summary of Activity for Restricted Stock and RSU Awards (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>091004 - Disclosure - STOCKHOLDERS' EQUITY, Non-vested Service-based Awards (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails</Role>
      <ShortName>STOCKHOLDERS' EQUITY, Non-vested Service-based Awards (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="ef20015300_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>091006 - Disclosure - STOCKHOLDERS' EQUITY, Share Repurchase Program (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails</Role>
      <ShortName>STOCKHOLDERS' EQUITY, Share Repurchase Program (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy in us-gaap/2023 used in 1 facts was deprecated in us-gaap/2024 as of 2024 and should not be used. ef20015300_10k.htm 9579</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 6 fact(s) appearing in ix:hidden were eligible for transformation: dei:CurrentFiscalYearEndDate, dei:SecurityExchangeName, us-gaap:NumberOfOperatingSegments, us-gaap:NumberOfReportableSegments, us-gaap:PropertyPlantAndEquipmentUsefulLife -  ef20015300_10k.htm 11</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="ef20015300_10k.htm">ef20015300_10k.htm</File>
    <File>tlfa-20231231.xsd</File>
    <File>tlfa-20231231_cal.xml</File>
    <File>tlfa-20231231_def.xml</File>
    <File>tlfa-20231231_lab.xml</File>
    <File>tlfa-20231231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>image00001.jpg</File>
    <File>image00002.jpg</File>
    <File>image00003.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2023</BaseTaxonomy>
    <BaseTaxonomy items="625">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="38">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>78
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "ef20015300_10k.htm": {
   "nsprefix": "tlfa",
   "nsuri": "http://tandyleather.com/20231231",
   "dts": {
    "inline": {
     "local": [
      "ef20015300_10k.htm"
     ]
    },
    "schema": {
     "local": [
      "tlfa-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/2004/ref-2004-08-10.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/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-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/currency/2023/currency-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd",
      "https://xbrl.sec.gov/exch/2023/exch-2023.xsd",
      "https://xbrl.sec.gov/naics/2023/naics-2023.xsd",
      "https://xbrl.sec.gov/sic/2023/sic-2023.xsd",
      "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "tlfa-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tlfa-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "tlfa-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tlfa-20231231_pre.xml"
     ]
    }
   },
   "keyStandard": 300,
   "keyCustom": 30,
   "axisStandard": 23,
   "axisCustom": 0,
   "memberStandard": 41,
   "memberCustom": 16,
   "hidden": {
    "total": 25,
    "http://fasb.org/us-gaap/2023": 18,
    "http://xbrl.sec.gov/dei/2023": 7
   },
   "contextCount": 145,
   "entityCount": 1,
   "segmentCount": 57,
   "elementCount": 543,
   "unitCount": 9,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 625,
    "http://xbrl.sec.gov/dei/2023": 38,
    "http://xbrl.sec.gov/ecd/2023": 4,
    "http://fasb.org/srt/2023": 1
   },
   "report": {
    "R1": {
     "role": "http://tandyleather.com/role/DocumentAndEntityInformation",
     "longName": "000100 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://tandyleather.com/role/ConsolidatedBalanceSheets",
     "longName": "010000 - Statement - Consolidated Balance Sheets",
     "shortName": "Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals",
     "longName": "010100 - Statement - Consolidated Balance Sheets (Parentheticals)",
     "shortName": "Consolidated Balance Sheets (Parentheticals)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome",
     "longName": "020000 - Statement - Consolidated Statements of Operations and Comprehensive Income",
     "shortName": "Consolidated Statements of Operations and Comprehensive Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows",
     "longName": "030000 - Statement - Consolidated Statements of Cash Flows",
     "shortName": "Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:CostOfGoodsAndServicesSoldDepreciation",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity",
     "longName": "040000 - Statement - Condensed Consolidated Statements of Stockholders' Equity",
     "shortName": "Condensed Consolidated Statements of Stockholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "c20211231_StatementEquityComponentsAxis_CommonStockMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20211231_StatementEquityComponentsAxis_CommonStockMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://tandyleather.com/role/DescriptionOfBusiness",
     "longName": "060100 - Disclosure - DESCRIPTION OF BUSINESS",
     "shortName": "DESCRIPTION OF BUSINESS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://tandyleather.com/role/SignificantAccountingPolicies",
     "longName": "060200 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://tandyleather.com/role/BalanceSheetComponents",
     "longName": "060300 - Disclosure - BALANCE SHEET COMPONENTS",
     "shortName": "BALANCE SHEET COMPONENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://tandyleather.com/role/Leases",
     "longName": "060400 - Disclosure - LEASES",
     "shortName": "LEASES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://tandyleather.com/role/NotesPayableAndLongtermDebt",
     "longName": "060500 - Disclosure - NOTES PAYABLE AND LONG-TERM DEBT",
     "shortName": "NOTES PAYABLE AND LONG-TERM DEBT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlans",
     "longName": "060600 - Disclosure - EMPLOYEE BENEFIT AND SAVINGS PLANS",
     "shortName": "EMPLOYEE BENEFIT AND SAVINGS PLANS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://tandyleather.com/role/IncomeTaxes",
     "longName": "060700 - Disclosure - INCOME TAXES",
     "shortName": "INCOME TAXES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://tandyleather.com/role/CommitmentsAndContingencies",
     "longName": "060800 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRisk",
     "longName": "060900 - Disclosure - SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK",
     "shortName": "SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://tandyleather.com/role/StockholdersEquity",
     "longName": "061000 - Disclosure - STOCKHOLDERS' EQUITY",
     "shortName": "STOCKHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://tandyleather.com/role/InsiderTradingArrangements",
     "longName": "061100 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "c20231001to20231231",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ecd:Rule10b51ArrTrmntdFlag",
       "ecd:NonRule10b51ArrTrmntdFlag",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231001to20231231",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ecd:Rule10b51ArrTrmntdFlag",
       "ecd:NonRule10b51ArrTrmntdFlag",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies",
     "longName": "070200 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "18",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:UseOfEstimates",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:UseOfEstimates",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesTables",
     "longName": "080200 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "19",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://tandyleather.com/role/BalanceSheetComponentsTables",
     "longName": "080300 - Disclosure - BALANCE SHEET COMPONENTS (Tables)",
     "shortName": "BALANCE SHEET COMPONENTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "20",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "srt:ScheduleOfCondensedBalanceSheetTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "srt:ScheduleOfCondensedBalanceSheetTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://tandyleather.com/role/LeasesTables",
     "longName": "080400 - Disclosure - LEASES (Tables)",
     "shortName": "LEASES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "tlfa:LesseeOperatingLeaseAssetsAndLiabilities",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "tlfa:LesseeOperatingLeaseAssetsAndLiabilities",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://tandyleather.com/role/IncomeTaxesTables",
     "longName": "080700 - Disclosure - INCOME TAXES (Tables)",
     "shortName": "INCOME TAXES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://tandyleather.com/role/StockholdersEquityTables",
     "longName": "081000 - Disclosure - STOCKHOLDERS' EQUITY (Tables)",
     "shortName": "STOCKHOLDERS' EQUITY (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "23",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://tandyleather.com/role/DescriptionOfBusinessDetails",
     "longName": "090100 - Disclosure - DESCRIPTION OF BUSINESS (Details)",
     "shortName": "DESCRIPTION OF BUSINESS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "24",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:NumberOfStores",
      "unitRef": "U004",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:NumberOfStores",
      "unitRef": "U004",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesDeconsolidationOfForeignSubsidiariesDetails",
     "longName": "090200 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Deconsolidation of Foreign Subsidiaries (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Deconsolidation of Foreign Subsidiaries (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "25",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DeconsolidationGainOrLossAmount",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R26": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails",
     "longName": "090202 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Error Correction (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Error Correction (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:InventoryNet",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231_RestatementAxis_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember",
      "name": "us-gaap:InventoryNet",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "us-gaap:AccountsPayableTradeCurrent",
       "span",
       "span",
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "unique": true
     }
    },
    "R27": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails",
     "longName": "090204 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Accounts Receivable and Expected Credit Losses (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Accounts Receivable and Expected Credit Losses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20211231",
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "unique": true
     }
    },
    "R28": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails",
     "longName": "090206 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Foreign Currency Translation and Transactions (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Foreign Currency Translation and Transactions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "28",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DeconsolidationGainOrLossAmount",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231_RangeAxis_MaximumMember",
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "unique": true
     }
    },
    "R29": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails",
     "longName": "090208 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Revenue Recognition (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Revenue Recognition (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesDiscountsDetails",
     "longName": "090210 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Discounts (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Discounts (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "tlfa:NumberOfClassesOfCustomerDiscounts",
      "unitRef": "U006",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "tlfa:NumberOfClassesOfCustomerDiscounts",
      "unitRef": "U006",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails",
     "longName": "090212 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Property and Equipment, Net of Accumulated Depreciation (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Property and Equipment, Net of Accumulated Depreciation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "31",
     "firstAnchor": {
      "contextRef": "c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MaximumMember",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MaximumMember",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails",
     "longName": "090214 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Leases (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c20230101to20231231_RangeAxis_MaximumMember",
      "name": "us-gaap:FinanceLeaseInterestExpense",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R33": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesImpairmentOfLonglivedAssetsDetails",
     "longName": "090216 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Impairment of Long-lived Assets (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Impairment of Long-lived Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "33",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ImpairmentOfLongLivedAssetsHeldForUse",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ImpairmentOfLongLivedAssetsHeldForUse",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails",
     "longName": "090218 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Earnings Per Share (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Earnings Per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "link:footnote",
       "div",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "unique": true
     }
    },
    "R35": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails",
     "longName": "090220 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Other Intangible Assets (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Other Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "c20230101to20231231_RangeAxis_MaximumMember",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-4",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231_RangeAxis_MaximumMember",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-4",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails",
     "longName": "090222 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Fair Value of Financial Instruments (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Fair Value of Financial Instruments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-6",
      "ancestors": [
       "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet",
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-6",
      "ancestors": [
       "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet",
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails",
     "longName": "090224 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Shipping and Handling Costs (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Shipping and Handling Costs (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:OperatingCostsAndExpenses",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231_ProductOrServiceAxis_ShippingAndHandlingMember",
      "name": "us-gaap:OperatingCostsAndExpenses",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "unique": true
     }
    },
    "R38": {
     "role": "http://tandyleather.com/role/SignificantAccountingPoliciesAdvertisingDetails",
     "longName": "090226 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES, Advertising (Details)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES, Advertising (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:AdvertisingExpense",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:AdvertisingExpense",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
     "longName": "090300 - Disclosure - BALANCE SHEET COMPONENTS, Inventory, Property and Equipment (Details)",
     "shortName": "BALANCE SHEET COMPONENTS, Inventory, Property and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails",
     "longName": "090302 - Disclosure - BALANCE SHEET COMPONENTS, Short-term Liabilities (Details)",
     "shortName": "BALANCE SHEET COMPONENTS, Short-term Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails",
     "longName": "090400 - Disclosure - LEASES, Lease Assets, Liabilities and Lease Cost (Details)",
     "shortName": "LEASES, Lease Assets, Liabilities and Lease Cost (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "tlfa:LeaseAssets",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "unique": true
     }
    },
    "R42": {
     "role": "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails",
     "longName": "090402 - Disclosure - LEASES, Maturity of Lease Liabilities (Details)",
     "shortName": "LEASES, Maturity of Lease Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://tandyleather.com/role/LeasesOperatingLeasesOtherInformationDetails",
     "longName": "090404 - Disclosure - LEASES, Operating Leases Other Information (Details)",
     "shortName": "LEASES, Operating Leases Other Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "tlfa:LesseeOperatingLeasesOtherInformationTableTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "tlfa:LesseeOperatingLeasesOtherInformationTableTextBlock",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails",
     "longName": "090406 - Disclosure - LEASES, Lease Term and Discount Rate (Details)",
     "shortName": "LEASES, Lease Term and Discount Rate (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "tlfa:LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "tlfa:LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails",
     "longName": "090500 - Disclosure - NOTES PAYABLE AND LONG-TERM DEBT (Details)",
     "shortName": "NOTES PAYABLE AND LONG-TERM DEBT (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "c20230103_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230103_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails",
     "longName": "090600 - Disclosure - EMPLOYEE BENEFIT AND SAVINGS PLANS (Details)",
     "shortName": "EMPLOYEE BENEFIT AND SAVINGS PLANS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DefinedContributionPlanCostRecognized",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DefinedContributionPlanCostRecognized",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails",
     "longName": "090700 - Disclosure - INCOME TAXES, Provision for Income Taxes (Details)",
     "shortName": "INCOME TAXES, Provision for Income Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails",
     "longName": "090702 - Disclosure - INCOME TAXES, Income Before Income Taxes (Details)",
     "shortName": "INCOME TAXES, Income Before Income Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231_IncomeTaxAuthorityNameAxis_InternalRevenueServiceIRSMember",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "unique": true
     }
    },
    "R49": {
     "role": "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails",
     "longName": "090704 - Disclosure - INCOME TAXES, Income Tax Effects of Temporary Differences Impacting Deferred Income Tax Assets and Liabilities (Details)",
     "shortName": "INCOME TAXES, Income Tax Effects of Temporary Differences Impacting Deferred Income Tax Assets and Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:DeferredTaxAssetsInventory",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:DeferredTaxAssetsInventory",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails",
     "longName": "090706 - Disclosure - INCOME TAXES, Reconciliation of Effective Tax Rate from Statutory Rate (Details)",
     "shortName": "INCOME TAXES, Reconciliation of Effective Tax Rate from Statutory Rate (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "U007",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "U007",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://tandyleather.com/role/IncomeTaxesReconciliationOfUncertainTaxPositionsDetails",
     "longName": "090708 - Disclosure - INCOME TAXES, Reconciliation of Uncertain Tax Positions (Details)",
     "shortName": "INCOME TAXES, Reconciliation of Uncertain Tax Positions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "c20221231",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20211231",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails",
     "longName": "090900 - Disclosure - SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK (Details)",
     "shortName": "SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "c20230101to20231231_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_StatementGeographicalAxis_US",
      "name": "tlfa:NumberOfSuppliers",
      "unitRef": "U009",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_StatementGeographicalAxis_US",
      "name": "tlfa:NumberOfSuppliers",
      "unitRef": "U009",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
     "longName": "091000 - Disclosure - STOCKHOLDERS' EQUITY, 2013 and 2023 Restricted Stock Plans (Details)",
     "shortName": "STOCKHOLDERS' EQUITY, 2013 and 2023 Restricted Stock Plans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "c20181001to20181031_AwardTypeAxis_RestrictedStockUnitsRSUMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20181001to20181031_AwardTypeAxis_RestrictedStockUnitsRSUMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails",
     "longName": "091002 - Disclosure - STOCKHOLDERS' EQUITY, Summary of Activity for Restricted Stock and RSU Awards (Details)",
     "shortName": "STOCKHOLDERS' EQUITY, Summary of Activity for Restricted Stock and RSU Awards (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "c20221231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20221231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails",
     "longName": "091004 - Disclosure - STOCKHOLDERS' EQUITY, Non-vested Service-based Awards (Details)",
     "shortName": "STOCKHOLDERS' EQUITY, Non-vested Service-based Awards (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails",
     "longName": "091006 - Disclosure - STOCKHOLDERS' EQUITY, Share Repurchase Program (Details)",
     "shortName": "STOCKHOLDERS' EQUITY, Share Repurchase Program (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "U003",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember",
      "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015300_10k.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SIGNIFICANT ACCOUNTING POLICIES [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingStandardsUpdate201602Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingStandardsUpdate201602Member",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ASU 2016-02 [Member]",
        "label": "Accounting Standards Update 2016-02 [Member]",
        "documentation": "Accounting Standards Update 2016-02 Leases (Topic 842)."
       }
      }
     },
     "auth_ref": [
      "r565"
     ]
    },
    "us-gaap_AccountsNotesAndLoansReceivableLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsNotesAndLoansReceivableLineItems",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts, Notes, Loans and Financing Receivable [Line Items]",
        "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_AccountsPayableAndAccruedLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableAndAccruedLiabilitiesMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Expenses and Other Liabilities [Member]",
        "documentation": "Primary financial statement caption encompassing accounts payable and accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable [Member]",
        "documentation": "Obligations incurred and payable to vendors for goods and services received."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_AccountsPayableTradeCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableTradeCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets",
      "http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable-trade",
        "terseLabel": "Accounts Payable",
        "documentation": "Carrying value as of the balance sheet date of obligations 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": [
      "r20",
      "r21"
     ]
    },
    "tlfa_AccountsReceivableAndExpectedCreditLossesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "AccountsReceivableAndExpectedCreditLossesAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable And Expected Credit Losses [Abstract]",
        "terseLabel": "Accounts Receivable and Expected Credit Losses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r720"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets",
      "http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable-trade, net of allowance for doubtful accounts of $31 and $56 at December 31, 2023 and December 31, 2022, respectively",
        "verboseLabel": "Accounts receivable",
        "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": [
      "r262",
      "r263"
     ]
    },
    "us-gaap_AccruedLiabilitiesAndOtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesAndOtherLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 7.0
      },
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails",
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "TOTAL",
        "label": "Accrued expenses and other liabilities",
        "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesAndOtherLiabilitiesAbstract",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Expenses and Other Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_AccruedVendorPayablesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "AccruedVendorPayablesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable to vendor. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Vendor Payables Current",
        "terseLabel": "Accrued vendor payables"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Less accumulated depreciation",
        "negatedLabel": "Less: accumulated depreciation",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r174",
      "r618"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated other comprehensive loss, net of tax",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r100",
      "r178",
      "r614",
      "r639",
      "r643"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Member]",
        "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",
      "r12",
      "r34",
      "r526",
      "r529",
      "r593",
      "r634",
      "r635",
      "r807",
      "r808",
      "r809",
      "r817",
      "r818",
      "r819"
     ]
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average amortization period",
        "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r115"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r95",
      "r770",
      "r887"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Paid-in Capital [Member]",
        "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": [
      "r472",
      "r473",
      "r474",
      "r652",
      "r817",
      "r818",
      "r819",
      "r868",
      "r888"
     ]
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update [Axis]",
        "documentation": "Information by amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r163",
      "r164",
      "r165",
      "r166",
      "r167",
      "r210",
      "r211",
      "r212",
      "r213",
      "r224",
      "r265",
      "r266",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r291",
      "r472",
      "r473",
      "r474",
      "r501",
      "r502",
      "r503",
      "r504",
      "r514",
      "r515",
      "r516",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r548",
      "r549",
      "r550",
      "r551",
      "r562",
      "r563",
      "r566",
      "r567",
      "r568",
      "r569",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r602",
      "r603",
      "r604",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643"
     ]
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of vested stock for employee payroll tax",
        "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation",
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation expense",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r72",
      "r438"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total adjustments",
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities",
        "documentation": "The sum of adjustments which are added to or deducted from net income or loss, including the portion attributable to noncontrolling interest, to reflect cash provided by or used in operating activities, in accordance with the indirect cash flow method."
       }
      }
     },
     "auth_ref": [
      "r111"
     ]
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r143"
     ]
    },
    "us-gaap_AdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingExpense",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesAdvertisingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising expense",
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line."
       }
      }
     },
     "auth_ref": [
      "r480"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation expense",
        "label": "Share-Based Payment Arrangement, Expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r470",
      "r479"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for expected credit losses",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r179",
      "r264",
      "r278",
      "r279",
      "r280",
      "r882"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Allowance for doubtful accounts",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r179",
      "r264",
      "r278"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of intangible assets (excluding goodwill)",
        "label": "Amortization of Intangible Assets",
        "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": [
      "r7",
      "r58",
      "r61"
     ]
    },
    "us-gaap_AssetImpairmentChargesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetImpairmentChargesAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesImpairmentOfLonglivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment of long-lived assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "TOTAL ASSETS",
        "label": "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": [
      "r133",
      "r177",
      "r203",
      "r246",
      "r252",
      "r256",
      "r267",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r517",
      "r519",
      "r547",
      "r610",
      "r678",
      "r770",
      "r782",
      "r829",
      "r830",
      "r874"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets",
      "http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals",
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ASSETS",
        "label": "Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "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": [
      "r169",
      "r184",
      "r203",
      "r267",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r517",
      "r519",
      "r547",
      "r770",
      "r829",
      "r830",
      "r874"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets",
      "http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CURRENT ASSETS:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r786",
      "r787",
      "r788"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r786",
      "r787",
      "r788"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r786",
      "r787",
      "r788"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails",
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails",
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r441",
      "r442",
      "r443",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469"
     ]
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "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://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Domain]",
        "documentation": "Location in the balance sheet (statement of financial position)."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r79"
     ]
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://tandyleather.com/role/DescriptionOfBusiness"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "DESCRIPTION OF BUSINESS",
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingAndBuildingImprovementsMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Buildings and Related Improvements [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingMember",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities."
       }
      }
     },
     "auth_ref": [
      "r117"
     ]
    },
    "tlfa_BusinessDescriptionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "BusinessDescriptionAbstract",
     "presentation": [
      "http://tandyleather.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Description [Abstract]",
        "terseLabel": "Description of Business [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "country_CA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "CA",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/DescriptionOfBusinessDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Canada [Member]",
        "label": "CANADA"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CanadaRevenueAgencyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CanadaRevenueAgencyMember",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Canada [Member]",
        "documentation": "Designated tax department of the government of Canada."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "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": [
      "r38",
      "r172",
      "r736"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash and cash equivalents, beginning of period",
        "periodEndLabel": "Cash and cash equivalents, end of period",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "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": [
      "r38",
      "r109",
      "r199"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net increase (decrease) in cash and cash equivalents",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "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",
      "r109"
     ]
    },
    "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosures of non-cash activity:"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "CashPaidForAmountsIncludedInTheMeasurementOfLeaseLiabilitiesAbstract",
     "presentation": [
      "http://tandyleather.com/role/LeasesOperatingLeasesOtherInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Paid for Amounts Included In The Measurement Of Lease Liabilities [Abstract]",
        "terseLabel": "Cash Paid for Amounts Included in the Measurement of Lease Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ChiefExecutiveOfficerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ChiefExecutiveOfficerMember",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Chief Executive Officer [Member]",
        "documentation": "Person with designation of chief executive officer."
       }
      }
     },
     "auth_ref": [
      "r822"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfTreasuryStockTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfTreasuryStockTable",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Treasury Stock [Table]",
        "documentation": "Disclosure of information about treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r68",
      "r69",
      "r70"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "COMMITMENTS AND CONTINGENCIES (Note 8)",
        "label": "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": [
      "r28",
      "r87",
      "r612",
      "r665"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://tandyleather.com/role/CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "COMMITMENTS AND CONTINGENCIES",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r293",
      "r294",
      "r721",
      "r826"
     ]
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of common shares reserved for issuance (in shares)",
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r773",
      "r774",
      "r775",
      "r777",
      "r778",
      "r779",
      "r780",
      "r817",
      "r818",
      "r868",
      "r885",
      "r888"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals",
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares authorized (in shares)",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r666"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares issued (in shares)",
        "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": [
      "r94"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares outstanding (in shares)",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r94",
      "r666",
      "r684",
      "r888",
      "r889"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, $0.0024 par value; 25,000,000 shares authorized; 9,823,621 and 9,717,525 shares issued at December 31, 2023 and December 31, 2022, respectively; 8,399,245 and 8,293,150 shares outstanding at December 31, 2023 and December 31, 2022, respectively",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r613",
      "r770"
     ]
    },
    "us-gaap_ComparabilityOfPriorYearFinancialData": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComparabilityOfPriorYearFinancialData",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Correction of an error in previously issued financial statements",
        "documentation": "Disclosure of accounting policy for reporting any exceptions to the comparability of prior year financial data with data shown for the most recent accounting period."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "EMPLOYEE BENEFIT AND SAVINGS PLANS [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive income",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "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": [
      "r77",
      "r131",
      "r186",
      "r188",
      "r193",
      "r606",
      "r622"
     ]
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Comprehensive income",
        "label": "Comprehensive Income, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_ConcentrationRiskAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "ConcentrationRiskAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r48",
      "r81",
      "r82",
      "r261",
      "r720"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r48",
      "r81",
      "r82",
      "r261",
      "r644",
      "r720"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "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": [
      "r46",
      "r48",
      "r81",
      "r82",
      "r261",
      "r720",
      "r796"
     ]
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRisk"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK",
        "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r113"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Line Items]",
        "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": [
      "r720"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r46",
      "r48",
      "r81",
      "r82",
      "r261"
     ]
    },
    "us-gaap_ConcentrationRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTable",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Table]",
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r46",
      "r48",
      "r49",
      "r81",
      "r132",
      "r720"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "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": [
      "r46",
      "r48",
      "r81",
      "r82",
      "r261",
      "r720"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r75",
      "r739"
     ]
    },
    "tlfa_ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of the liability for outstanding gift cards. Retail customers purchase gift cards or gift certificates that can be redeemed at a later date for merchandise or services; those unredeemed represent a liability of the entity because the revenue is being deferred.",
        "label": "Contract with Customer, Accrued Liabilities For Unredeemed Gift Cards",
        "terseLabel": "Unearned gift card revenue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales return allowance",
        "label": "Contract with Customer, Asset, Allowance for Credit Loss",
        "documentation": "Amount of allowance for credit loss for right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r278",
      "r279",
      "r280",
      "r350"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract with customer liability",
        "label": "Contract with Customer, Liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r348",
      "r349",
      "r361"
     ]
    },
    "tlfa_ContractWithCustomerLiabilityForGiftCardsIssued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "ContractWithCustomerLiabilityForGiftCardsIssued",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable recorded during the current reporting period, related to the Company's liability for outstanding gift cards. Retail customers purchase gift cards or gift certificates that can be redeemed at a later date for merchandise or services.",
        "label": "Contract With Customer Liability For Gift Cards Issued",
        "terseLabel": "Gift cards issued"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue recognized from redemption of gift cards",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due."
       }
      }
     },
     "auth_ref": [
      "r362"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of sales",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r600"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSoldDepreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfGoodsAndServicesSoldDepreciation",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation and amortization",
        "documentation": "Amount of expense for allocation of cost of tangible asset over its useful life directly used in production of good and rendering of service."
       }
      }
     },
     "auth_ref": [
      "r810",
      "r824"
     ]
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalStateAndLocalTaxExpenseBenefitAbstract",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current provision (benefit) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r799",
      "r815",
      "r866"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign",
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r799",
      "r815"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current provision",
        "label": "Current Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r500",
      "r508",
      "r815"
     ]
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r799",
      "r815",
      "r866"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "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": [
      "r47",
      "r261"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "NOTES PAYABLE AND LONG-TERM DEBT [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NOTES PAYABLE AND LONG-TERM DEBT",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r201",
      "r308",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r324",
      "r331",
      "r332",
      "r334"
     ]
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r89",
      "r90",
      "r134",
      "r136",
      "r206",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r315",
      "r320",
      "r321",
      "r322",
      "r323",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r564",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r813"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Line Items]",
        "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": [
      "r206",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r315",
      "r320",
      "r321",
      "r322",
      "r323",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r333",
      "r564",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r813"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Name [Domain]",
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r206",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r315",
      "r320",
      "r321",
      "r322",
      "r323",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r564",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r813"
     ]
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Long-term Debt Instruments [Table]",
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r65",
      "r66",
      "r83",
      "r84",
      "r85",
      "r88",
      "r123",
      "r124",
      "r206",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r315",
      "r320",
      "r321",
      "r322",
      "r323",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r333",
      "r564",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r813"
     ]
    },
    "us-gaap_DebtInstrumentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentsAbstract",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instruments [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeconsolidationGainOrLossAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeconsolidationGainOrLossAmount",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesDeconsolidationOfForeignSubsidiariesDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss on deconsolidation",
        "documentation": "Amount of gain (loss) from deconsolidation of subsidiary and derecognition of group of assets constituting transfer of business or nonprofit activity, excluding conveyance of oil and gas mineral rights and transfer of good or service in contract with customer."
       }
      }
     },
     "auth_ref": [
      "r76"
     ]
    },
    "tlfa_DeconsolidationOfForeignSubsidiariesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "DeconsolidationOfForeignSubsidiariesAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesDeconsolidationOfForeignSubsidiariesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deconsolidation of Foreign Subsidiaries [Abstract]",
        "terseLabel": "Deconsolidation of Foreign Subsidiaries [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_DeconsolidationOfForeignSubsidiariesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "DeconsolidationOfForeignSubsidiariesPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for deconsolidation of foreign subsidiaries.",
        "label": "Deconsolidation of Foreign Subsidiaries [Policy Text Block]",
        "terseLabel": "Deconsolidation of Foreign Subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "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": [
      "r815",
      "r865",
      "r866"
     ]
    },
    "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalStateAndLocalTaxExpenseBenefitAbstract",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred provision (benefit) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign",
        "label": "Deferred Foreign Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r815",
      "r865"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income taxes",
        "label": "Deferred Income Tax Assets, 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": [
      "r485",
      "r486"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred provision (benefit)",
        "label": "Deferred Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r130",
      "r150",
      "r507",
      "r508",
      "r815"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred income tax liabilities",
        "label": "Deferred Tax Liabilities, Gross",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r92",
      "r135",
      "r494"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income taxes",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r485",
      "r486",
      "r611"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxesAndTaxCredits",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income taxes",
        "label": "Deferred Income Taxes and Tax Credits",
        "documentation": "Amount of deferred income tax expense (benefit) and income tax credits."
       }
      }
     },
     "auth_ref": [
      "r111"
     ]
    },
    "us-gaap_DeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenue",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit card payments recorded as 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": [
      "r802"
     ]
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r815",
      "r865",
      "r866"
     ]
    },
    "tlfa_DeferredTaxAssetsAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "DeferredTaxAssetsAccountsReceivable",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accounts receivable.",
        "label": "Deferred Tax Assets, Accounts Receivable",
        "terseLabel": "Accounts receivable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred income tax assets",
        "label": "Deferred Tax Assets, Gross",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r495"
     ]
    },
    "us-gaap_DeferredTaxAssetsGrossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGrossAbstract",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income tax assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInventory",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory",
        "label": "Deferred Tax Assets, Inventory",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r864"
     ]
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net deferred tax asset (liability)",
        "label": "Deferred Tax Assets, Net",
        "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": [
      "r863"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred income tax assets, net of valuation allowance",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r863"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net operating losses",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r864"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsForeign",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign tax net operating loss carryovers",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Foreign",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible foreign operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r864"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State net operating loss carryovers",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, State and Local",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible state and local operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r864"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Stock-based compensation",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r864"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r864"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Deferred Rent",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred rent."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r864"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales returns",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from estimated returns and sales allowances."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r864"
     ]
    },
    "us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsUnrealizedCurrencyLosses",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency translation gain/loss in OCI",
        "label": "Deferred Tax Assets, Unrealized Currency Losses",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from unrealized losses on foreign currency transactions."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r864"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: valuation allowance",
        "label": "Deferred Tax Assets, 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": [
      "r496"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesAbstract",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income tax liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeTaxEffectsOfTemporaryDifferencesImpactingDeferredIncomeTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and equipment depreciation",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r864"
     ]
    },
    "us-gaap_DefinedBenefitPlanDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanDisclosureLineItems",
     "presentation": [
      "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan Disclosure [Line Items]",
        "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_DefinedContributionPlanCostRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanCostRecognized",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined contribution plan, employer match expense",
        "documentation": "Amount of cost for defined contribution plan."
       }
      }
     },
     "auth_ref": [
      "r431"
     ]
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employer discretionary contribution amount",
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercent",
     "presentation": [
      "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employer matching contribution, percentage of eligible earnings contributed by employees",
        "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch",
     "presentation": [
      "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employer matching contribution, percentage of match",
        "documentation": "Percentage employer matches of the employee's percentage contribution matched."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanTable",
     "presentation": [
      "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan [Table]",
        "documentation": "Disclosure of information about defined contribution pension plans or defined contribution other postretirement plans, separately for pension plans and other postretirement benefit plans."
       }
      }
     },
     "auth_ref": [
      "r431"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation expense",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r63"
     ]
    },
    "srt_DirectorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "DirectorMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails",
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Employee Director [Member]",
        "label": "Board of Directors [Member]",
        "documentation": "Person serving on board of directors."
       }
      }
     },
     "auth_ref": [
      "r822",
      "r886"
     ]
    },
    "us-gaap_DisaggregationOfRevenueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregated revenue [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "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": [
      "r360",
      "r751",
      "r752",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r360",
      "r751",
      "r752",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregated Revenue",
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r832"
     ]
    },
    "us-gaap_DisclosureTextBlockSupplementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureTextBlockSupplementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "BALANCE SHEET COMPONENTS [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_DiscountsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "DiscountsAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Discounts [Abstract]",
        "terseLabel": "Discounts [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r786",
      "r787",
      "r788"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r786",
      "r787",
      "r788",
      "r790"
     ]
    },
    "dei_DocumentFinStmtRestatementRecoveryAnalysisFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtRestatementRecoveryAnalysisFlag",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Restatement Recovery Analysis [Flag]",
        "documentation": "Indicates whether any of the financial statement periods include restatements that required a recovery analysis of incentive-based compensation received by any of the registrant's executive officers during the relevant recovery period pursuant to \u00a7240.10D-1(b)."
       }
      }
     },
     "auth_ref": [
      "r786",
      "r787",
      "r788",
      "r790"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r789"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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": []
    },
    "country_ES": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "ES",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Spain [Member]",
        "label": "SPAIN"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income per common share:",
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic (in dollars per share)",
        "label": "Earnings Per Share, Basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r214",
      "r215",
      "r217",
      "r218",
      "r220",
      "r225",
      "r227",
      "r241",
      "r242",
      "r243",
      "r244",
      "r542",
      "r543",
      "r607",
      "r623",
      "r742"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r194",
      "r214",
      "r215",
      "r217",
      "r218",
      "r220",
      "r227",
      "r241",
      "r242",
      "r243",
      "r244",
      "r542",
      "r543",
      "r607",
      "r623",
      "r742"
     ]
    },
    "us-gaap_EarningsPerShareDilutedLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDilutedLineItems",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items]",
        "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": [
      "r227",
      "r232",
      "r241"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Earnings per share",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "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": [
      "r42",
      "r43"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r554"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective rate",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r488"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statutory rate - Federal U.S. income tax",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r488",
      "r510"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r860",
      "r867"
     ]
    },
    "tlfa_EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails"
     ],
     "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 Interest on unrecognized tax benefit.",
        "label": "Effective Income Tax Rate Reconciliation, Interest on Unrecognized Tax Benefit, Percent",
        "terseLabel": "Interest on Uncertain Tax Position"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other, net",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r860",
      "r867"
     ]
    },
    "tlfa_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails"
     ],
     "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 permanent book to income tax differences.",
        "label": "Effective Income Tax Rate Reconciliation, Permanent Differences, Percent",
        "terseLabel": "Permanent book/tax differences"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State and local taxes",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "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": [
      "r860",
      "r867"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfEffectiveTaxRateFromStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Income tax credits",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent",
        "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 credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits."
       }
      }
     },
     "auth_ref": [
      "r860",
      "r867"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued employee related costs",
        "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": [
      "r24"
     ]
    },
    "tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails": {
       "parentTag": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrecognized cost of unvested share-based compensation awards in excess of one year due in the fourth fiscal year following the latest fiscal year.",
        "label": "Employee Service Share-based Compensation Non-vested Awards Compensation Cost Not Yet Recognized Due In Four Years",
        "terseLabel": "2027"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails": {
       "parentTag": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrecognized cost of unvested share-based compensation awards in excess of one year due in the third fiscal year following the latest fiscal year.",
        "label": "Employee Service Share-based Compensation Non-vested Awards Compensation Cost Not Yet Recognized Due In Three Years",
        "terseLabel": "2026"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails": {
       "parentTag": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrecognized cost of unvested share-based compensation awards due in excess of one year due in the second fiscal year following the latest fiscal year.",
        "label": "Employee Service Share-based Compensation Non-vested Awards Compensation Cost Not Yet Recognized Due In Two Years",
        "terseLabel": "2025"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails": {
       "parentTag": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrecognized cost of unvested share-based compensation awards in excess of one year due in the next fiscal year following the latest fiscal year.",
        "label": "Employee Service Share-based Compensation Nonvested Awards Compensation Cost Not Yet Recognized Due In Next Twelve Months",
        "terseLabel": "2024"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Unrecognized Expense",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized compensation cost period of recognition",
        "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": [
      "r471"
     ]
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r784"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r784"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r784"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r793"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r784"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r784"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r784"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r784"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r794"
     ]
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCKHOLDERS' EQUITY [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityClassOfTreasuryStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityClassOfTreasuryStockLineItems",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Class of Treasury Stock [Line Items]",
        "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_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "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": [
      "r13",
      "r165",
      "r190",
      "r191",
      "r192",
      "r207",
      "r208",
      "r209",
      "r211",
      "r221",
      "r223",
      "r245",
      "r271",
      "r277",
      "r347",
      "r472",
      "r473",
      "r474",
      "r503",
      "r504",
      "r524",
      "r526",
      "r527",
      "r528",
      "r529",
      "r531",
      "r541",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r561",
      "r593",
      "r634",
      "r635",
      "r636",
      "r652",
      "r704"
     ]
    },
    "us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Error Corrections and Prior Period Adjustments Restatement [Line Items]",
        "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": [
      "r214",
      "r215",
      "r216",
      "r220",
      "r221",
      "r222",
      "r223",
      "r244"
     ]
    },
    "tlfa_ExpectedMerchandiseReturns": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "ExpectedMerchandiseReturns",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the carrying value as of the balance sheet date of the liability for expected merchandise returns.",
        "label": "Expected Merchandise Returns",
        "terseLabel": "Estimated returns"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transfers into (out of) Level 3",
        "documentation": "Amount of transfer of financial instrument classified as an asset into (out of) level 3 of the fair value hierarchy."
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_FairValueOfFinancialInstrumentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "FairValueOfFinancialInstrumentsAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments [Abstract]",
        "verboseLabel": "Fair value of financial instruments [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair value of financial instruments",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r16"
     ]
    },
    "tlfa_FiftyPercentContributionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "FiftyPercentContributionMember",
     "presentation": [
      "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage employer matches of the employee's percentage contribution matched.",
        "label": "Fifty Percent Contribution [Member]",
        "terseLabel": "50% Contribution [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_FinanceLeaseCostsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "FinanceLeaseCostsAbstract",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease Costs [Abstract]",
        "terseLabel": "Finance [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseInterestExpense",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest on lease liabilities",
        "terseLabel": "Remaining finance leases interest expense",
        "documentation": "Amount of interest expense on finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r574",
      "r581",
      "r769"
     ]
    },
    "us-gaap_FinanceLeaseInterestPaymentOnLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseInterestPaymentOnLiability",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/LeasesOperatingLeasesOtherInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating cash flows used in finance leases",
        "label": "Finance Lease, Interest Payment on Liability",
        "documentation": "Amount of interest paid on finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r576",
      "r585"
     ]
    },
    "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maturities of Finance Lease Liabilities [Abstract]",
        "label": "Finance Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Present value of lease liabilities",
        "label": "Finance Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease."
       }
      }
     },
     "auth_ref": [
      "r572",
      "r588"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails": {
       "parentTag": "tlfa_LeaseLiabilities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets",
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current portion of finance lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes current finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r573"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails": {
       "parentTag": "tlfa_LeaseLiabilities",
       "weight": 1.0,
       "order": 3.0
      },
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets",
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance lease liabilities, non-current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes noncurrent finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r573"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total lease payments",
        "label": "Finance Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Thereafter",
        "label": "Finance Lease, Liability, to be Paid, after Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Finance Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r588"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Finance Lease, Liability, to be Paid, Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r588"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Finance Lease, Liability, to be Paid, Year Four",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r588"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Finance Lease, Liability, to be Paid, Year Three",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r588"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Finance Lease, Liability, to be Paid, Year Two",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": [
      "r588"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Interest",
        "label": "Finance Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeasePrincipalPayments",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows",
      "http://tandyleather.com/role/LeasesOperatingLeasesOtherInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payment of finance lease obligations",
        "terseLabel": "Financing cash flows used in finance leases",
        "label": "Finance Lease, Principal Payments",
        "documentation": "Amount of cash outflow for principal payment on finance lease."
       }
      }
     },
     "auth_ref": [
      "r575",
      "r585"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails": {
       "parentTag": "tlfa_LeaseAssets",
       "weight": 1.0,
       "order": 1.0
      },
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets",
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing lease assets",
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r571"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of finance lease assets",
        "label": "Finance Lease, Right-of-Use Asset, Amortization",
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r574",
      "r581",
      "r769"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r573"
     ]
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finance leases",
        "label": "Finance Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for finance lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r587",
      "r769"
     ]
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finance leases",
        "label": "Finance Lease, Weighted Average Remaining Lease Term",
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r586",
      "r769"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated amortization",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r175",
      "r288"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense, 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": [
      "r116"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense, 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": [
      "r116"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense, 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": [
      "r116"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense, 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": [
      "r116"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense, 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": [
      "r116"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "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": [
      "r286",
      "r287",
      "r288",
      "r289",
      "r601",
      "r605"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "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": [
      "r59",
      "r60"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNetAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Intangible Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_FiveMajorCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "FiveMajorCustomersMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Five major customers to the entity.",
        "label": "Five Major Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionGainLossBeforeTaxAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency translation and transactions [Abstract]",
        "label": "Gain (Loss), Foreign Currency Transaction, before Tax [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency translation and transactions",
        "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": [
      "r552"
     ]
    },
    "tlfa_ForeignCurrencyTranslationAndTransactionsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "ForeignCurrencyTranslationAndTransactionsLineItems",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails"
     ],
     "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": "Foreign Currency Translation and Transactions [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_ForeignCurrencyTranslationAndTransactionsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "ForeignCurrencyTranslationAndTransactionsTable",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about foreign currency translation and transactions.",
        "label": "Foreign Currency Translation and Transactions [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture and Fixtures [Member]",
        "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": []
    },
    "us-gaap_GainLossOnDispositionOfAssets1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnDispositionOfAssets1",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss on disposal of assets",
        "label": "Gain (Loss) on Disposition of Assets",
        "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee."
       }
      }
     },
     "auth_ref": [
      "r812"
     ]
    },
    "tlfa_GiftCardRedemptionPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "GiftCardRedemptionPeriod",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected customer gift card redemption period, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Gift Card Redemption Period",
        "terseLabel": "Gift card redemption period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r203",
      "r246",
      "r251",
      "r255",
      "r257",
      "r267",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r547",
      "r743",
      "r829"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r786",
      "r787",
      "r788"
     ]
    },
    "tlfa_ImpairmentExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "ImpairmentExpenseMember",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing impairment expenses.",
        "label": "Impairment Expense [Member]",
        "terseLabel": "Impairment Expense [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ImpairmentOfLongLivedAssetsHeldForUse": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOfLongLivedAssetsHeldForUse",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesImpairmentOfLonglivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment losses",
        "label": "Impairment, Long-Lived Asset, Held-for-Use",
        "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale)."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r62",
      "r118"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of long-lived assets",
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "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",
      "r119"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income (loss) before income taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r204",
      "r509"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before income taxes",
        "terseLabel": "TOTAL",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "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",
      "r101",
      "r138",
      "r246",
      "r251",
      "r255",
      "r257",
      "r608",
      "r620",
      "r743"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income (loss) before income taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, 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": [
      "r204",
      "r509"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (loss) before income taxes [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Statements of Operations and Comprehensive Income [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Axis]",
        "documentation": "Information by location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r290",
      "r292",
      "r689"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Domain]",
        "documentation": "Location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r292",
      "r689"
     ]
    },
    "us-gaap_IncomeTaxAuthorityNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityNameAxis",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Axis]",
        "documentation": "Information by name of taxing authority."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_IncomeTaxAuthorityNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityNameDomain",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Domain]",
        "documentation": "Named agency, division or body 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 [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "INCOME TAXES",
        "label": "Income Tax Disclosure [Text Block]",
        "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": [
      "r205",
      "r481",
      "r489",
      "r492",
      "r498",
      "r505",
      "r511",
      "r512",
      "r513",
      "r651"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      },
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for income taxes",
        "totalLabel": "Total tax provision (benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r141",
      "r151",
      "r222",
      "r223",
      "r249",
      "r487",
      "r506",
      "r624"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r189",
      "r483",
      "r484",
      "r492",
      "r493",
      "r497",
      "r499",
      "r647"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax paid (refunded) during the period, net",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes."
       }
      }
     },
     "auth_ref": [
      "r40"
     ]
    },
    "us-gaap_IncomeTaxesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesReceivable",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax receivable",
        "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r803"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable-trade",
        "label": "Increase (Decrease) in Accounts Payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable-trade",
        "label": "Increase (Decrease) in 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": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued expenses and other liabilities",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInDeferredIncomeTaxes",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Income taxes, net",
        "label": "Increase (Decrease) in Deferred Income Taxes",
        "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventory",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Changes in operating assets and liabilities:",
        "label": "Increase (Decrease) in Operating Capital [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liabilities",
        "label": "Increase (Decrease) in Operating Lease Liability",
        "documentation": "Amount of increase (decrease) in obligation for operating lease."
       }
      }
     },
     "auth_ref": [
      "r797",
      "r811"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherCurrentAssets",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other current assets",
        "label": "Increase (Decrease) in Other Current Assets",
        "documentation": "Amount of increase (decrease) in current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r811"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherNoncurrentAssets",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Other assets",
        "label": "Increase (Decrease) in Other Noncurrent Assets",
        "documentation": "Amount of increase (decrease) in noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r811"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidExpense",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses",
        "label": "Increase (Decrease) in Prepaid Expense",
        "documentation": "The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToContingentlyIssuableShares",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares excluded from the diluted EPS calculation (in shares)",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Contingently Issuable Shares",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of contingently issuable shares. Contingently issuable shares are those shares that are issuable for little or no cash contingent on certain conditions being met."
       }
      }
     },
     "auth_ref": [
      "r229",
      "r230",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r243"
     ]
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dilutive effect of service-based restricted stock awards granted (in shares)",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method."
       }
      }
     },
     "auth_ref": [
      "r228",
      "r229",
      "r231",
      "r243",
      "r440"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "tlfa_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A loan provided for by the Spanish government as part of a COVID-19 relief program to facilitate the continuation of employment and to attenuate the economic effects of the COVID-19 virus.",
        "label": "Institute of Official Credit Guarantee for Small and Medium-sized Enterprises [Member]",
        "terseLabel": "Institute of Official Credit Guarantee for Small and Medium-sized Enterprises [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IntangibleAssetsFiniteLivedPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsFiniteLivedPolicy",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other intangible assets",
        "documentation": "Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r597",
      "r598",
      "r599",
      "r601",
      "r740"
     ]
    },
    "us-gaap_IntellectualPropertyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntellectualPropertyMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trademarks/Copyrights [Member]",
        "label": "Intellectual Property [Member]",
        "documentation": "Intangible asset arising from original creative thought. Include, but is not limited to, trademarks, patents, and copyrights."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "us-gaap_InterestExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpenseMember",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expense [Member]",
        "documentation": "Primary financial statement caption encompassing interest expense."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeExpenseNet",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Interest income",
        "label": "Interest Income (Expense), Net",
        "documentation": "The net amount of operating interest income (expense)."
       }
      }
     },
     "auth_ref": [
      "r140"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest paid during the period",
        "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": [
      "r195",
      "r197",
      "r198"
     ]
    },
    "us-gaap_InternalRevenueServiceIRSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InternalRevenueServiceIRSMember",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States [Member]",
        "documentation": "Designated tax department of the United States of America government entitled to levy and collect income taxes from the entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureAbstract",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished goods held for sale",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r804"
     ]
    },
    "tlfa_InventoryMerchandiseExpectedToBeReturned": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "InventoryMerchandiseExpectedToBeReturned",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross amount of merchandise or supplies to which the entity expected returns as of balance sheet date.",
        "label": "Inventory, Merchandise Expected to be Returned",
        "verboseLabel": "Estimate of merchandise expected to be returned"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 7.0
      },
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/ConsolidatedBalanceSheets",
      "http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory",
        "totalLabel": "Total inventory",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r181",
      "r737",
      "r770"
     ]
    },
    "us-gaap_InventoryNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNetAbstract",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory on hand [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory",
        "label": "Inventory, Policy [Policy Text Block]",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r142",
      "r171",
      "r180",
      "r281",
      "r282",
      "r283",
      "r596",
      "r741"
     ]
    },
    "us-gaap_InventoryWorkInProcessAndRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWorkInProcessAndRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Raw materials and work in process",
        "label": "Inventory, Work in Process and Raw Materials",
        "documentation": "The aggregate carrying amount as of the balance sheet date of items held by the entity which are partially completed at the time of measurement and unprocessed items that will go through the production process and become part of the final product. Includes supplies used directly or indirectly in the manufacturing or production process. This element may be used when the reporting entity combines work in process and raw materials into an aggregate amount."
       }
      }
     },
     "auth_ref": [
      "r806"
     ]
    },
    "tlfa_JPMorganChaseBankNAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "JPMorganChaseBankNAMember",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name of lender will provide the line of credit facility under the credit agreement.",
        "label": "JP Morgan Chase Bank, N.A. [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LandMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LandMember",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land [Member]",
        "documentation": "Part of earth's surface not covered by water."
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "tlfa_LeaseAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "LeaseAssets",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease assets consisting of operating and finance lease as on balance sheet date.",
        "label": "Lease Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total lease cost",
        "documentation": "Amount of lease cost recognized by lessee for lease contract."
       }
      }
     },
     "auth_ref": [
      "r580",
      "r769"
     ]
    },
    "us-gaap_LeaseCostAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCostAbstract",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease Cost [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease Cost",
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income."
       }
      }
     },
     "auth_ref": [
      "r871"
     ]
    },
    "tlfa_LeaseLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "LeaseLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease liabilities consisting of operating and finance lease as on balance sheet date.",
        "label": "Lease Liabilities",
        "totalLabel": "Total lease liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_LeaseTermAndDiscountRateAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "LeaseTermAndDiscountRateAbstract",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease Term and Discount Rate [Abstract]",
        "terseLabel": "Lease Term and Discount Rate [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r117"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeasesAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LEASES [Abstract]",
        "terseLabel": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionLineItems",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Line Items]",
        "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": [
      "r579"
     ]
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionTable",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Table]",
        "documentation": "Disclosure of information about lessee's leases."
       }
      }
     },
     "auth_ref": [
      "r579"
     ]
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeasesPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Leases [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee."
       }
      }
     },
     "auth_ref": [
      "r578"
     ]
    },
    "tlfa_LesseeOperatingLeaseAssetsAndLiabilities": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "LesseeOperatingLeaseAssetsAndLiabilities",
     "presentation": [
      "http://tandyleather.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's operating lease assets and liabilities recognized in the statement of financial position.",
        "label": "Lessee Operating Lease Assets and Liabilities",
        "terseLabel": "Operating Lease Assets and Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maturity of Lease Liabilities",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]",
        "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": [
      "r872"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total lease payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Thereafter",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "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": [
      "r588"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "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": [
      "r588"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "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": [
      "r588"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "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": [
      "r588"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "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": [
      "r588"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Interest",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "tlfa_LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee operating leases lease term and discount rate.",
        "label": "Lessee Operating Leases Lease Term and Discount Rate [Table Text Block]",
        "terseLabel": "Lease Term and Discount Rate"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_LesseeOperatingLeasesOtherInformationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "LesseeOperatingLeasesOtherInformationTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of other information of operating leases.",
        "label": "Lessee Operating Leases Other Information [Table Text Block]",
        "terseLabel": "Operating Leases Other Information"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://tandyleather.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r570"
     ]
    },
    "us-gaap_LiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAbstract",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r137",
      "r616",
      "r770",
      "r814",
      "r823",
      "r869"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILITIES AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "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": [
      "r25",
      "r170",
      "r203",
      "r267",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r518",
      "r519",
      "r520",
      "r547",
      "r770",
      "r829",
      "r874",
      "r875"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CURRENT LIABILITIES:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilityForUncertainTaxPositionsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilityForUncertainTaxPositionsNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Uncertain tax positions",
        "label": "Liability for Uncertainty in Income Taxes, Noncurrent",
        "documentation": "Amount recognized for uncertainty in income taxes classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityAxis",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lender Name [Axis]",
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r813"
     ]
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityLenderDomain",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Lender [Domain]",
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r813"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of credit facility, 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": [
      "r22"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment and Machinery [Member]",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]",
        "documentation": "Information by name or description of a single external customer or a group of external customers."
       }
      }
     },
     "auth_ref": [
      "r261",
      "r753",
      "r832",
      "r883",
      "r884"
     ]
    },
    "us-gaap_MarketingAndAdvertisingExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketingAndAdvertisingExpenseAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesAdvertisingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising [Abstract]",
        "label": "Marketing and Advertising Expense [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails",
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails",
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "documentation": "Upper limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r295",
      "r296",
      "r297",
      "r298",
      "r434",
      "r595",
      "r631",
      "r657",
      "r658",
      "r709",
      "r711",
      "r713",
      "r714",
      "r716",
      "r731",
      "r732",
      "r744",
      "r750",
      "r766",
      "r772",
      "r831",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails",
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "documentation": "Lower limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r295",
      "r296",
      "r297",
      "r298",
      "r434",
      "r595",
      "r631",
      "r657",
      "r658",
      "r709",
      "r711",
      "r713",
      "r714",
      "r716",
      "r731",
      "r732",
      "r744",
      "r750",
      "r766",
      "r772",
      "r831",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881"
     ]
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]",
        "documentation": "Single external customer or group of external customers."
       }
      }
     },
     "auth_ref": [
      "r261",
      "r753",
      "r832",
      "r883",
      "r884"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in financing activities",
        "label": "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": [
      "r196"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in investing activities",
        "label": "Net Cash Provided by (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": [
      "r196"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by operating activities",
        "label": "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": [
      "r109",
      "r110",
      "r111"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      },
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity",
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows",
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net Income",
        "terseLabel": "Net income",
        "verboseLabel": "Net income",
        "label": "Net Income (Loss) Attributable to Parent",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r111",
      "r139",
      "r168",
      "r185",
      "r187",
      "r192",
      "r203",
      "r210",
      "r214",
      "r215",
      "r217",
      "r218",
      "r222",
      "r223",
      "r240",
      "r246",
      "r251",
      "r255",
      "r257",
      "r267",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r543",
      "r547",
      "r621",
      "r686",
      "r702",
      "r703",
      "r743",
      "r781",
      "r829"
     ]
    },
    "us-gaap_NetIncomeLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Numerator [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Computation of Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recently Adopted Accounting Pronouncements",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "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_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://tandyleather.com/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted",
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://tandyleather.com/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated",
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "us-gaap_NonUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonUsMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Countries [Member]",
        "documentation": "Countries excluding the United States of America (US)."
       }
      }
     },
     "auth_ref": [
      "r890",
      "r891",
      "r892",
      "r893"
     ]
    },
    "tlfa_NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset in a noncash (or part noncash) transaction obtained in exchange for operating lease liability.",
        "label": "Noncash or Part Noncash Transactions, Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "terseLabel": "Operating lease assets obtained in exchange for lease liabilities, net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Total other income",
        "label": "Nonoperating Income (Expense)",
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)."
       }
      }
     },
     "auth_ref": [
      "r105"
     ]
    },
    "tlfa_NumberOfClassesOfCustomerDiscounts": {
     "xbrltype": "integerItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "NumberOfClassesOfCustomerDiscounts",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of classes of customer discounts.",
        "label": "Number of Classes of Customer Discounts",
        "terseLabel": "Number of classes of customer discounts"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_NumberOfMajorCustomers": {
     "xbrltype": "integerItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "NumberOfMajorCustomers",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of major customers of the entity.",
        "label": "Number of Major Customers",
        "verboseLabel": "Number of customers accounted more than 0.5% of revenue"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_NumberOfMajorSuppliers": {
     "xbrltype": "integerItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "NumberOfMajorSuppliers",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of major suppliers of the entity.",
        "label": "Number of Major Suppliers",
        "terseLabel": "Number of suppliers accounted for 55% of inventory purchases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://tandyleather.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of operating segments",
        "label": "Number of Operating Segments",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r821"
     ]
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://tandyleather.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r821"
     ]
    },
    "us-gaap_NumberOfStores": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfStores",
     "presentation": [
      "http://tandyleather.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of stores",
        "label": "Number of Stores",
        "documentation": "Represents the number of stores."
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_NumberOfSuppliers": {
     "xbrltype": "integerItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "NumberOfSuppliers",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of suppliers of the entity.",
        "label": "Number of Suppliers",
        "terseLabel": "Number of suppliers"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_OneHundredPercentContributionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "OneHundredPercentContributionMember",
     "presentation": [
      "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage employer matches of the employee's percentage contribution matched.",
        "label": "One Hundred Percent Contribution [Member]",
        "terseLabel": "100% Contribution [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_OneMajorSupplierMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "OneMajorSupplierMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "One major supplier to the entity.",
        "label": "One Major Supplier [Member]",
        "terseLabel": "One Major Supplier [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingCostsAndExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingCostsAndExpenses",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Operating expenses",
        "terseLabel": "Operating expenses",
        "label": "Operating Costs and Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Excludes Selling, General and Administrative Expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpenseMember",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Expenses [Member]",
        "label": "Operating Expense [Member]",
        "documentation": "Primary financial statement caption encompassing expenses associated with normal operations."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income from operations",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r246",
      "r251",
      "r255",
      "r257",
      "r743"
     ]
    },
    "us-gaap_OperatingIncomeLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLossAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease cost",
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability."
       }
      }
     },
     "auth_ref": [
      "r582",
      "r769"
     ]
    },
    "tlfa_OperatingLeaseCurrentLiabilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "OperatingLeaseCurrentLiabilityAbstract",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Current Liability [Abstract]",
        "verboseLabel": "Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseImpairmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease asset impairment expense",
        "label": "Operating Lease, Impairment Loss",
        "documentation": "Amount of loss from impairment of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r870"
     ]
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maturity of Operating Lease Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetailsCalc01": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/LeasesMaturityOfLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Present value of lease liabilities",
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails": {
       "parentTag": "tlfa_LeaseLiabilities",
       "weight": 1.0,
       "order": 0.0
      },
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets",
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current portion of operating lease liabilities",
        "label": "Operating Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r573"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails": {
       "parentTag": "tlfa_LeaseLiabilities",
       "weight": 1.0,
       "order": 2.0
      },
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets",
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liabilities, non-current",
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes noncurrent operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r573"
     ]
    },
    "tlfa_OperatingLeaseNonCurrentLiabilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "OperatingLeaseNonCurrentLiabilityAbstract",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Non-current Liability [Abstract]",
        "terseLabel": "Noncurrent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/LeasesOperatingLeasesOtherInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating cash flows used in 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": [
      "r577",
      "r585"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails": {
       "parentTag": "tlfa_LeaseAssets",
       "weight": 1.0,
       "order": 0.0
      },
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets",
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Operating lease assets",
        "label": "Operating lease assets",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r571"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease asset amortization",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r812"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes operating lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r573"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating leases",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r587",
      "r769"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating leases",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "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": [
      "r586",
      "r769"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "DESCRIPTION OF BUSINESS [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other current assets",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r183",
      "r770"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r176"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity",
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency translation gain (loss), net",
        "label": "Foreign currency translation adjustments, net of tax",
        "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_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency translation loss adjustments net of tax change (benefit)",
        "documentation": "Amount of tax expense (benefit), after 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",
      "r5",
      "r553",
      "r560"
     ]
    },
    "tlfa_OtherCountriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "OtherCountriesMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All other countries excluding the United States and Canada.",
        "label": "Other Countries [Member]",
        "terseLabel": "Other [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherInventoryInTransit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherInventoryInTransit",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory in transit",
        "documentation": "Gross amount of merchandise or supplies to which the entity holds the title but does not hold physical possession because the goods are currently being transported."
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "us-gaap_OtherLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Liabilities [Member]",
        "documentation": "Primary financial statement caption encompassing other liabilities."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r80"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other non-current liabilities",
        "label": "Other Liabilities, Noncurrent",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other, net",
        "label": "Other Nonoperating Income (Expense)",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r106"
     ]
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of common stock",
        "label": "Payments for Repurchase of Common Stock",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r36"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of property and equipment",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r108"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementBenefitExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionAndOtherPostretirementBenefitExpenseAbstract",
     "presentation": [
      "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension and Other Postretirement Benefits Cost [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "presentation": [
      "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "EMPLOYEE BENEFIT AND SAVINGS PLANS",
        "documentation": "The entire disclosure for retirement benefits."
       }
      }
     },
     "auth_ref": [
      "r363",
      "r386",
      "r388",
      "r394",
      "r411",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r429",
      "r430",
      "r431",
      "r758"
     ]
    },
    "tlfa_PercentageOfCommonStockOutstanding": {
     "xbrltype": "percentItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "PercentageOfCommonStockOutstanding",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of outstanding common stock in prior to the repurchase.",
        "label": "Percentage of Common Stock Outstanding",
        "terseLabel": "Percentage of outstanding common stock"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "PerformanceBasedRestrictedStockUnitsRSUsMember",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, when specified performance conditions are met.",
        "label": "Performance Based Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Performance Based Restricted Stock Units [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847",
      "r848",
      "r849",
      "r850",
      "r851",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847",
      "r848",
      "r849",
      "r850",
      "r851",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859"
     ]
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseCurrent",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r182",
      "r284",
      "r285",
      "r738"
     ]
    },
    "us-gaap_PriorPeriodAdjustmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PriorPeriodAdjustmentAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prior Period Adjustments [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from long-term debt",
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r648"
     ]
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromLinesOfCredit",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of credit facility, funds borrowed",
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r813"
     ]
    },
    "us-gaap_ProceedsFromSaleOfProductiveAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfProductiveAssets",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Proceeds from sales of assets",
        "label": "Proceeds from Sale of Productive Assets",
        "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets."
       }
      }
     },
     "auth_ref": [
      "r107"
     ]
    },
    "us-gaap_ProductInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductInformationLineItems",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Information [Line Items]",
        "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": []
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "documentation": "Information by product and service, or group of similar products and similar services."
       }
      }
     },
     "auth_ref": [
      "r258",
      "r600",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r734",
      "r751",
      "r771",
      "r798",
      "r827",
      "r828",
      "r832",
      "r883"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "documentation": "Product or service, or a group of similar products or similar services."
       }
      }
     },
     "auth_ref": [
      "r258",
      "r600",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r734",
      "r751",
      "r771",
      "r798",
      "r827",
      "r828",
      "r832",
      "r883"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "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": [
      "r8"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, at cost",
        "terseLabel": "Property and equipment, gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r173",
      "r619"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Property and equipment, net",
        "label": "Property, Plant 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": [
      "r8",
      "r609",
      "r619",
      "r770"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNetAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and equipment, net of accumulated depreciation [Abstract]",
        "label": "Property, Plant and Equipment, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNetByTypeAbstract",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, net of accumulated depreciation",
        "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": [
      "r8",
      "r146",
      "r149",
      "r617"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [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": [
      "r117"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated useful lives of assets",
        "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": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails",
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails",
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r295",
      "r296",
      "r297",
      "r298",
      "r386",
      "r434",
      "r466",
      "r467",
      "r468",
      "r594",
      "r595",
      "r631",
      "r657",
      "r658",
      "r709",
      "r711",
      "r713",
      "r714",
      "r716",
      "r731",
      "r732",
      "r744",
      "r750",
      "r766",
      "r772",
      "r775",
      "r825",
      "r831",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesForeignCurrencyTranslationAndTransactionsDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesLeasesDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails",
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails",
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r295",
      "r296",
      "r297",
      "r298",
      "r386",
      "r434",
      "r466",
      "r467",
      "r468",
      "r594",
      "r595",
      "r631",
      "r657",
      "r658",
      "r709",
      "r711",
      "r713",
      "r714",
      "r716",
      "r731",
      "r732",
      "r744",
      "r750",
      "r766",
      "r772",
      "r775",
      "r825",
      "r831",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881"
     ]
    },
    "us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable and expected credit losses",
        "label": "Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for determining the allowance for doubtful accounts for trade and other accounts receivable balances, and when impairments, charge-offs or recoveries are recognized."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfUncertainTaxPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reconciliation of Uncertain Tax Positions (\"UTP\") [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payments on long-term debt",
        "label": "Repayments of Long-Term Debt",
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r649"
     ]
    },
    "srt_RestatementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RestatementAxis",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revision of Prior Period [Axis]",
        "documentation": "Information by adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r214",
      "r215",
      "r216",
      "r217",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r244",
      "r272",
      "r273",
      "r504",
      "r537",
      "r541",
      "r542",
      "r543",
      "r569",
      "r592",
      "r593",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r645"
     ]
    },
    "srt_RestatementDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RestatementDomain",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revision of Prior Period [Domain]",
        "documentation": "Adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r214",
      "r215",
      "r216",
      "r217",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r244",
      "r272",
      "r273",
      "r504",
      "r537",
      "r541",
      "r542",
      "r543",
      "r569",
      "r592",
      "r593",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r645"
     ]
    },
    "tlfa_RestrictedStockAndRestrictedStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "RestrictedStockAndRestrictedStockUnitsMember",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails",
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met and 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.",
        "label": "Restricted Stock and Restricted Stock Units [Member]",
        "verboseLabel": "Restricted Stock and RSU [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock [Member]",
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met."
       }
      }
     },
     "auth_ref": [
      "r42"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Units [Member]",
        "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_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r125",
      "r615",
      "r638",
      "r643",
      "r650",
      "r667",
      "r770"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r165",
      "r207",
      "r208",
      "r209",
      "r211",
      "r221",
      "r223",
      "r271",
      "r277",
      "r472",
      "r473",
      "r474",
      "r503",
      "r504",
      "r524",
      "r527",
      "r528",
      "r531",
      "r541",
      "r634",
      "r636",
      "r652",
      "r888"
     ]
    },
    "us-gaap_RetirementPlanTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetirementPlanTypeAxis",
     "presentation": [
      "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan Type [Axis]",
        "documentation": "Information by type of retirement benefit plan. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement."
       }
      }
     },
     "auth_ref": [
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r412",
      "r415",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r431",
      "r432",
      "r433",
      "r435",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765"
     ]
    },
    "us-gaap_RetirementPlanTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetirementPlanTypeDomain",
     "presentation": [
      "http://tandyleather.com/role/EmployeeBenefitAndSavingsPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan Type [Domain]",
        "documentation": "Type of plan designed to provide participants with retirement benefits. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement."
       }
      }
     },
     "auth_ref": [
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r412",
      "r415",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r431",
      "r432",
      "r433",
      "r435",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue recognition [Abstract]",
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net sales",
        "terseLabel": "Sales",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r247",
      "r248",
      "r250",
      "r253",
      "r254",
      "r258",
      "r259",
      "r261",
      "r359",
      "r360",
      "r600"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue recognition",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r152",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r733"
     ]
    },
    "tlfa_RevenueRecognitionDiscountsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "RevenueRecognitionDiscountsPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for sales discounts.",
        "label": "Revenue Recognition, Discounts [Policy Text Block]",
        "terseLabel": "Discounts"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RevisionOfPriorPeriodErrorCorrectionAdjustmentMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prior Period Adjustment [Member]",
        "documentation": "Cumulative increase (decrease) to previously issued financial statements for correction of error."
       }
      }
     },
     "auth_ref": [
      "r214",
      "r215",
      "r216",
      "r220",
      "r221",
      "r222",
      "r223"
     ]
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RisksAndUncertaintiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://tandyleather.com/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Adopted",
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://tandyleather.com/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Terminated",
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "tlfa_SalesAndPayrollTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "SalesAndPayrollTaxesPayable",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsShorttermLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents to the carrying amount of sales and payroll taxes payable as of the balance sheet date.",
        "label": "Sales and Payroll Taxes Payable",
        "terseLabel": "Sales and payroll taxes payable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales Revenue [Member]",
        "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": [
      "r261",
      "r795"
     ]
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]",
        "documentation": "Schedule itemizing specific 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": [
      "r31"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Provision for Income Taxes",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "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": [
      "r129"
     ]
    },
    "srt_ScheduleOfCondensedBalanceSheetTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScheduleOfCondensedBalanceSheetTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Property and Equipment and Short-term Liabilities",
        "documentation": "Tabular disclosure of condensed balance sheet, including, but not limited to, balance sheets of consolidated entities and consolidation eliminations."
       }
      }
     },
     "auth_ref": [
      "r800",
      "r816"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Effects of Temporary Differences Impacting Deferred Income 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": [
      "r128"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Computation of Basic and Diluted Earnings Per Share",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r820"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareDilutedByCommonClassTable",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table]",
        "documentation": "Complete disclosure pertaining to an entity's diluted earnings per share."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r44",
      "r227",
      "r232",
      "r241"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reconciliation of Effective Tax Rate from Statutory 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": [
      "r127"
     ]
    },
    "us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesErrorCorrectionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Error Corrections and Prior Period Adjustment Restatement [Table]",
        "documentation": "Schedule of prior period adjustments to correct an error in previously issued financial statements. The disclosure may include, but is not limited to: (1) the effect of the correction on each financial statement line item and any per-share amounts affected for each prior period presented (2) the cumulative effect of the change on retained earnings or other appropriate components of equity or net assets in the statement of financial position, as of the beginning of the earliest period presented, and (3) the effect of the prior period adjustment (both gross and net of applicable income tax) on the net income of each prior period presented in the entity's annual report for the year in which the adjustments are made. This table can be used to disclose the amounts as previously reported and the effect of the correction or other adjustment on per line item or per share amount basis. This table uses as its line items financial statement line items that are affected by prior period adjustments."
       }
      }
     },
     "auth_ref": [
      "r214",
      "r215",
      "r216",
      "r220",
      "r221",
      "r222",
      "r223",
      "r244"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "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": [
      "r59",
      "r60",
      "r601"
     ]
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Before Income Taxes",
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions."
       }
      }
     },
     "auth_ref": [
      "r815"
     ]
    },
    "us-gaap_ScheduleOfProductInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfProductInformationTable",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Product Information [Table]",
        "documentation": "Schedule detailing quantitative information concerning products or product lines by product or product line."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "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": [
      "r8"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://tandyleather.com/role/DescriptionOfBusinessDetails"
     ],
     "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": [
      "r53",
      "r54",
      "r55",
      "r57"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails",
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "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": [
      "r437",
      "r439",
      "r441",
      "r442",
      "r443",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469"
     ]
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Activity of Restricted Stock and RSU Awards",
        "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_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-vested, Service-based Stock Awards",
        "documentation": "Tabular disclosure of cost not yet recognized and weighted-average period over which cost is expected to be recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reconciliation of Uncertain Tax Positions",
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r768",
      "r862"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r783"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r785"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/DescriptionOfBusinessDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails",
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "documentation": "Geographical area."
       }
      }
     },
     "auth_ref": [
      "r153",
      "r154",
      "r155",
      "r156",
      "r157",
      "r158",
      "r159",
      "r160",
      "r161",
      "r259",
      "r260",
      "r654",
      "r655",
      "r656",
      "r710",
      "r712",
      "r715",
      "r717",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r735",
      "r752",
      "r775",
      "r832",
      "r883"
     ]
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://tandyleather.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Information [Line Items]",
        "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_SellingGeneralAndAdministrativeExpensesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpensesPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating expense",
        "label": "Selling, General and Administrative Expenses, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for inclusion of significant items in the selling, general and administrative (or similar) expense report caption."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "tlfa_ServicedBasedRestrictedStockUnitsRSUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "ServicedBasedRestrictedStockUnitsRSUsMember",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time.",
        "label": "Serviced Based Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Serviced Based Restricted Stock Units [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_ShareBasedCompensationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAbstract",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Expense [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting period from grant date",
        "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": [
      "r767"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Forfeited (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r458"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forfeited (in dollars per share)",
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event."
       }
      }
     },
     "auth_ref": [
      "r458"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Number of restricted stock units granted (in shares)",
        "label": "Granted (in shares)",
        "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": [
      "r456"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Granted (in dollars per share)",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r456"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "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": [
      "r453",
      "r454"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares [Roll Forward]",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance (in dollars per share)",
        "periodEndLabel": "Balance (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r453",
      "r454"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Share Price [Abstract]",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Vested (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r457"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vested (in dollars per share)",
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement."
       }
      }
     },
     "auth_ref": [
      "r457"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails",
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "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": [
      "r437",
      "r439",
      "r441",
      "r442",
      "r443",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails",
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails",
      "http://tandyleather.com/role/StockholdersEquitySummaryOfActivityForRestrictedStockAndRsuAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Domain]",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r441",
      "r442",
      "r443",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469"
     ]
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tranche One [Member]",
        "label": "Share-Based Payment Arrangement, Tranche One [Member]",
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tranche Two [Member]",
        "label": "Share-Based Payment Arrangement, Tranche Two [Member]",
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Stock-based compensation",
        "label": "Share-Based Payment Arrangement [Policy Text Block]",
        "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": [
      "r436",
      "r444",
      "r463",
      "r464",
      "r465",
      "r466",
      "r469",
      "r475",
      "r476",
      "r477",
      "r478"
     ]
    },
    "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier [Axis]",
        "documentation": "Information by supplier."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier [Domain]",
        "documentation": "Specific identification or general nature of (for example, a construction contractor, a consulting firm) the party from whom the goods or services were or are to be received."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedPaymentArrangementEmployeeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedPaymentArrangementEmployeeMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employees [Member]",
        "label": "Share-Based Payment Arrangement, Employee [Member]",
        "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor exercises or has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Includes, but is not limited to, nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires."
       }
      }
     },
     "auth_ref": [
      "r439",
      "r441",
      "r442",
      "r443",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469"
     ]
    },
    "us-gaap_SharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharePrice",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase price per share (in dollars per share)",
        "documentation": "Price of a single share of a number of saleable stocks of a company."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareRepurchaseProgramAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareRepurchaseProgramAxis",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Repurchase Program [Axis]",
        "documentation": "Information by share repurchase program."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareRepurchaseProgramDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareRepurchaseProgramDomain",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Repurchase Program [Domain]",
        "documentation": "Name of the share repurchase program."
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_ShareRepurchaseProgramMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "ShareRepurchaseProgramMember",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the share repurchase program.",
        "label": "Share Repurchase Program [Member]",
        "terseLabel": "Share Repurchase Program [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum amount of operating income to meet the performance condition.",
        "label": "tlf_SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome",
        "terseLabel": "Minimum amount of operating income, award vesting condition"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance (in shares)",
        "periodEndLabel": "Balance (in shares)",
        "label": "Shares, Outstanding",
        "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://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of vested stock for employee payroll tax (in shares)",
        "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_ShippingAndHandlingCostsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "ShippingAndHandlingCostsAbstract",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shipping and handling costs [Abstract]",
        "terseLabel": "Shipping and handling costs [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_ShippingAndHandlingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "ShippingAndHandlingCostsPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.",
        "label": "Shipping and Handling Costs [Policy Text Block]",
        "terseLabel": "Shipping and handling costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShippingAndHandlingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShippingAndHandlingMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesShippingAndHandlingCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shipping and Handling [Member]",
        "documentation": "Packing and transport of product."
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "us-gaap_ShortTermLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term lease cost",
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less."
       }
      }
     },
     "auth_ref": [
      "r583",
      "r769"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SIGNIFICANT ACCOUNTING POLICIES",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r200"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r30",
      "r165",
      "r190",
      "r191",
      "r192",
      "r207",
      "r208",
      "r209",
      "r211",
      "r221",
      "r223",
      "r245",
      "r271",
      "r277",
      "r347",
      "r472",
      "r473",
      "r474",
      "r503",
      "r504",
      "r524",
      "r526",
      "r527",
      "r528",
      "r529",
      "r531",
      "r541",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r561",
      "r593",
      "r634",
      "r635",
      "r636",
      "r652",
      "r704"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/DescriptionOfBusinessDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails",
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "documentation": "Information by geographical components."
       }
      }
     },
     "auth_ref": [
      "r153",
      "r162",
      "r259",
      "r260",
      "r654",
      "r655",
      "r656",
      "r710",
      "r712",
      "r715",
      "r717",
      "r719",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r735",
      "r752",
      "r775",
      "r832",
      "r883"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity",
      "http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "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": [
      "r207",
      "r208",
      "r209",
      "r245",
      "r600",
      "r646",
      "r653",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r666",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r679",
      "r680",
      "r681",
      "r682",
      "r683",
      "r685",
      "r687",
      "r688",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r704",
      "r776"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Statements of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Balance Sheets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Statements of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity",
      "http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails"
     ],
     "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": [
      "r207",
      "r208",
      "r209",
      "r245",
      "r600",
      "r646",
      "r653",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r666",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r679",
      "r680",
      "r681",
      "r682",
      "r683",
      "r685",
      "r687",
      "r688",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r704",
      "r776"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity",
      "http://tandyleather.com/role/StockholdersEquityNonvestedServicebasedAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuance of restricted stock (in shares)",
        "terseLabel": "Number of shares issued from vesting of restricted stock (in shares)",
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r125"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuance of restricted stock",
        "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r93",
      "r94",
      "r125"
     ]
    },
    "us-gaap_StockRepurchaseProgramAuthorizedAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repurchase of common stock shares",
        "documentation": "Amount of stock repurchase plan authorized."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining repurchase of common stock",
        "documentation": "Amount remaining of a stock repurchase plan authorized."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedAndRetiredDuringPeriodShares",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity",
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of common stock (in shares)",
        "label": "Repurchase of common stock (in shares)",
        "documentation": "Number of shares that have been repurchased and retired during the period."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r93",
      "r94",
      "r125"
     ]
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedAndRetiredDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity",
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of common stock",
        "label": "Purchase price",
        "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital)."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r93",
      "r94",
      "r125"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity",
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance",
        "periodEndLabel": "Balance",
        "totalLabel": "Total stockholders' equity",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r97",
      "r98",
      "r114",
      "r668",
      "r684",
      "r705",
      "r706",
      "r770",
      "r782",
      "r814",
      "r823",
      "r869",
      "r888"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets",
      "http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCKHOLDERS' EQUITY:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteAbstract",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Stock Plan [Abstract]",
        "label": "Stockholders' Equity Note [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCKHOLDERS' EQUITY",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r202",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r532",
      "r707",
      "r708",
      "r718"
     ]
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "BALANCE SHEET COMPONENTS",
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity."
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosures of cash flow information:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplierConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplierConcentrationRiskMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier Concentration Risk [Member]",
        "documentation": "Reflects the percentage that purchases in the period from one or more significant suppliers is to cost of goods or services, as defined by the entity, such as total cost of sales or services, product line cost of sales or services, segment cost of sales or services. Risk is the materially adverse effects of loss of a material supplier or a supplier of critically needed goods or services."
       }
      }
     },
     "auth_ref": [
      "r47"
     ]
    },
    "us-gaap_TaxAuthoritySpainMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxAuthoritySpainMember",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesIncomeBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Spain [Member]",
        "documentation": "Designated tax department of the government of Spain."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes payable",
        "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": [
      "r23"
     ]
    },
    "tlfa_TenMajorSuppliersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "TenMajorSuppliersMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ten major suppliers to the entity.",
        "label": "Ten Major Suppliers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails",
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]",
        "documentation": "Information by title of individual or nature of relationship to individual or group of individuals."
       }
      }
     },
     "auth_ref": [
      "r822",
      "r873"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails",
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Domain]",
        "documentation": "Title of individual, or nature of relationship to individual or group of individuals."
       }
      }
     },
     "auth_ref": []
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock [Member]",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r67"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheetsParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury stock, shares (in shares)",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r67"
     ]
    },
    "us-gaap_TreasuryStockCommonValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonValue",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Treasury stock at cost (1,424,376 shares at December 31, 2023 and December 31, 2022)",
        "label": "Treasury Stock, Common, Value",
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r67",
      "r70"
     ]
    },
    "tlfa_TwoMajorCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "TwoMajorCustomersMember",
     "presentation": [
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two major customers to the entity.",
        "label": "Two Major Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_TwoThousandAndThirteenRestrictedStockPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "TwoThousandAndThirteenRestrictedStockPlanMember",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Refers to 2013 Restricted stock plan.",
        "label": "Two Thousand and Thirteen Restricted Stock Plan [Member]",
        "terseLabel": "2013 Restricted Stock Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "TwoThousandAndTwentyThreeRestrictedStockPlanMember",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Refers to 2023 Restricted stock plan.",
        "label": "Two Thousand and Twenty Three Restricted Stock Plan [Member]",
        "terseLabel": "2023 Restricted Stock Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfAdoptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfAdoptionMember",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update [Domain]",
        "documentation": "Amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r163",
      "r164",
      "r165",
      "r166",
      "r167",
      "r210",
      "r211",
      "r212",
      "r213",
      "r224",
      "r265",
      "r266",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r291",
      "r472",
      "r473",
      "r474",
      "r501",
      "r502",
      "r503",
      "r504",
      "r514",
      "r515",
      "r516",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r548",
      "r549",
      "r550",
      "r551",
      "r562",
      "r563",
      "r566",
      "r567",
      "r568",
      "r569",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r602",
      "r603",
      "r604",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/DescriptionOfBusinessDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails",
      "http://tandyleather.com/role/SignificantBusinessConcentrationsAndRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "United States [Member]",
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfUncertainTaxPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "UTP at end of year",
        "periodStartLabel": "UTP at beginning of the year",
        "label": "Unrecognized Tax Benefits",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r482",
      "r490"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfUncertainTaxPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gross decrease to tax positions in current period",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Current Period Tax Positions",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfUncertainTaxPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross increase to tax positions in current period",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return."
       }
      }
     },
     "auth_ref": [
      "r491"
     ]
    },
    "tlfa_UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesReconciliationOfUncertainTaxPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest expense for an underpayment of income taxes including foreign income taxes.",
        "label": "Unrecognized Tax Benefits, Interest on Income and Foreign Income Taxes Expense",
        "verboseLabel": "Interest expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense",
     "crdr": "debit",
     "calculation": {
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Related to UTP",
        "label": "Unrecognized Tax Benefits, Interest on Income Taxes Expense",
        "documentation": "Amount of interest expense for an underpayment of income taxes."
       }
      }
     },
     "auth_ref": [
      "r861"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://tandyleather.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Management estimates and reporting",
        "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": [
      "r50",
      "r51",
      "r52",
      "r144",
      "r145",
      "r147",
      "r148"
     ]
    },
    "us-gaap_VariableLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseAssetsLiabilitiesAndLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable lease cost",
        "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases."
       }
      }
     },
     "auth_ref": [
      "r584",
      "r769"
     ]
    },
    "us-gaap_VehiclesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VehiclesMember",
     "presentation": [
      "http://tandyleather.com/role/BalanceSheetComponentsInventoryPropertyAndEquipmentDetails",
      "http://tandyleather.com/role/SignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vehicles [Member]",
        "documentation": "Equipment used primarily for road transportation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VestingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingAxis",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Axis]",
        "documentation": "Information by vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847",
      "r848",
      "r849",
      "r850",
      "r851",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859"
     ]
    },
    "us-gaap_VestingDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingDomain",
     "presentation": [
      "http://tandyleather.com/role/StockholdersEquity2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Domain]",
        "documentation": "Vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847",
      "r848",
      "r849",
      "r850",
      "r851",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859"
     ]
    },
    "tlfa_WeightedAverageDiscountRateAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "WeightedAverageDiscountRateAbstract",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted-Average Discount Rate [Abstract]",
        "terseLabel": "Weighted-Average Discount Rate [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted (in shares)",
        "verboseLabel": "Diluted weighted-average common shares outstanding (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": [
      "r226",
      "r243"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average number of shares outstanding:",
        "terseLabel": "Denominator [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://tandyleather.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/SignificantAccountingPoliciesEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic (in shares)",
        "verboseLabel": "Basic weighted-average common shares outstanding (in shares)",
        "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": [
      "r225",
      "r243"
     ]
    },
    "tlfa_WeightedAverageRemainingLeaseTermAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20231231",
     "localname": "WeightedAverageRemainingLeaseTermAbstract",
     "presentation": [
      "http://tandyleather.com/role/LeasesLeaseTermAndDiscountRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted-Average Remaining Lease Term [Abstract]",
        "terseLabel": "Weighted-Average Remaining Lease Term (Years) [Abstract]"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "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": "12",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12"
  },
  "r6": {
   "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"
  },
  "r7": {
   "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"
  },
  "r8": {
   "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"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-1"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r11": {
   "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"
  },
  "r12": {
   "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"
  },
  "r13": {
   "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"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "44",
   "SubTopic": "20",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-44"
  },
  "r16": {
   "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"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(19)",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "205",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483478/205-10-45-3"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-8"
  },
  "r21": {
   "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"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "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"
  },
  "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.30)",
   "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": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r34": {
   "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"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r37": {
   "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"
  },
  "r38": {
   "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"
  },
  "r39": {
   "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"
  },
  "r40": {
   "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"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r42": {
   "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"
  },
  "r43": {
   "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"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16"
  },
  "r46": {
   "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"
  },
  "r47": {
   "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"
  },
  "r48": {
   "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"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21"
  },
  "r50": {
   "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"
  },
  "r51": {
   "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"
  },
  "r52": {
   "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"
  },
  "r53": {
   "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"
  },
  "r54": {
   "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"
  },
  "r55": {
   "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"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "310",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-9"
  },
  "r57": {
   "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"
  },
  "r58": {
   "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"
  },
  "r59": {
   "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"
  },
  "r60": {
   "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"
  },
  "r61": {
   "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"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-4"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r65": {
   "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"
  },
  "r66": {
   "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"
  },
  "r67": {
   "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"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-2"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-3"
  },
  "r70": {
   "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"
  },
  "r71": {
   "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"
  },
  "r72": {
   "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"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r74": {
   "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"
  },
  "r75": {
   "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"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1B"
  },
  "r77": {
   "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"
  },
  "r78": {
   "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"
  },
  "r79": {
   "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"
  },
  "r80": {
   "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"
  },
  "r81": {
   "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"
  },
  "r82": {
   "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"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8"
  },
  "r86": {
   "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.10)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r87": {
   "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"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r94": {
   "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"
  },
  "r95": {
   "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"
  },
  "r96": {
   "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"
  },
  "r97": {
   "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"
  },
  "r98": {
   "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"
  },
  "r99": {
   "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"
  },
  "r100": {
   "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"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r105": {
   "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.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r108": {
   "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"
  },
  "r109": {
   "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"
  },
  "r110": {
   "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"
  },
  "r111": {
   "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"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r114": {
   "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"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r116": {
   "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"
  },
  "r117": {
   "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"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-2"
  },
  "r119": {
   "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"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r123": {
   "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"
  },
  "r124": {
   "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"
  },
  "r125": {
   "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"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r127": {
   "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"
  },
  "r128": {
   "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"
  },
  "r129": {
   "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"
  },
  "r130": {
   "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"
  },
  "r131": {
   "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"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r133": {
   "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"
  },
  "r134": {
   "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(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r135": {
   "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"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r137": {
   "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"
  },
  "r138": {
   "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"
  },
  "r139": {
   "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"
  },
  "r140": {
   "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.10)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r141": {
   "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"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r144": {
   "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"
  },
  "r145": {
   "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"
  },
  "r146": {
   "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"
  },
  "r147": {
   "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"
  },
  "r148": {
   "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"
  },
  "r149": {
   "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"
  },
  "r150": {
   "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"
  },
  "r151": {
   "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"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column G",
   "Publisher": "SEC"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column H",
   "Publisher": "SEC"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column I",
   "Publisher": "SEC"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "29",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r165": {
   "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"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r168": {
   "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"
  },
  "r169": {
   "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"
  },
  "r170": {
   "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"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r172": {
   "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"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r175": {
   "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"
  },
  "r176": {
   "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"
  },
  "r177": {
   "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"
  },
  "r178": {
   "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"
  },
  "r179": {
   "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"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r182": {
   "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(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r183": {
   "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(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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"
  },
  "r186": {
   "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"
  },
  "r187": {
   "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"
  },
  "r188": {
   "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"
  },
  "r189": {
   "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"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "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"
  },
  "r193": {
   "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"
  },
  "r194": {
   "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"
  },
  "r195": {
   "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"
  },
  "r196": {
   "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"
  },
  "r197": {
   "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"
  },
  "r198": {
   "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"
  },
  "r199": {
   "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"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "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"
  },
  "r205": {
   "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"
  },
  "r206": {
   "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"
  },
  "r207": {
   "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"
  },
  "r208": {
   "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"
  },
  "r209": {
   "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"
  },
  "r210": {
   "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"
  },
  "r211": {
   "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"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r214": {
   "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"
  },
  "r215": {
   "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"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-12"
  },
  "r217": {
   "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"
  },
  "r218": {
   "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"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5"
  },
  "r225": {
   "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"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-26"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "44",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-44"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "48",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-48"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "48",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-48"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "51",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-51"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-52"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-53"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "54",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-54"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "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"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "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"
  },
  "r246": {
   "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"
  },
  "r247": {
   "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"
  },
  "r248": {
   "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"
  },
  "r249": {
   "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"
  },
  "r250": {
   "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"
  },
  "r251": {
   "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"
  },
  "r252": {
   "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"
  },
  "r253": {
   "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"
  },
  "r254": {
   "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"
  },
  "r255": {
   "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"
  },
  "r256": {
   "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"
  },
  "r257": {
   "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"
  },
  "r258": {
   "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"
  },
  "r259": {
   "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"
  },
  "r260": {
   "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"
  },
  "r261": {
   "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"
  },
  "r262": {
   "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"
  },
  "r263": {
   "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"
  },
  "r264": {
   "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"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2"
  },
  "r267": {
   "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"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r271": {
   "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"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r277": {
   "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"
  },
  "r278": {
   "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"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1"
  },
  "r286": {
   "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"
  },
  "r287": {
   "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"
  },
  "r288": {
   "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"
  },
  "r289": {
   "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"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147477123/405-50-65-1"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r293": {
   "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"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r314": {
   "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"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r324": {
   "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"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r331": {
   "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"
  },
  "r332": {
   "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"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r334": {
   "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"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "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"
  },
  "r338": {
   "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"
  },
  "r339": {
   "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"
  },
  "r340": {
   "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"
  },
  "r341": {
   "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"
  },
  "r342": {
   "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"
  },
  "r343": {
   "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"
  },
  "r344": {
   "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"
  },
  "r345": {
   "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"
  },
  "r346": {
   "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"
  },
  "r347": {
   "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"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3"
  },
  "r351": {
   "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"
  },
  "r352": {
   "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"
  },
  "r353": {
   "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"
  },
  "r354": {
   "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"
  },
  "r355": {
   "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"
  },
  "r356": {
   "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"
  },
  "r357": {
   "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"
  },
  "r358": {
   "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"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//715/tableOfContent"
  },
  "r364": {
   "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"
  },
  "r365": {
   "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"
  },
  "r366": {
   "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"
  },
  "r367": {
   "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"
  },
  "r368": {
   "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"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r370": {
   "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"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r372": {
   "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"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r378": {
   "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"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r385": {
   "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"
  },
  "r386": {
   "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"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r388": {
   "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"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r394": {
   "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"
  },
  "r395": {
   "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"
  },
  "r396": {
   "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"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r398": {
   "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"
  },
  "r399": {
   "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"
  },
  "r400": {
   "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"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r402": {
   "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"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r405": {
   "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"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r408": {
   "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"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(3)",
   "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": "(k)(4)",
   "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": "(l)",
   "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": "(n)",
   "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": "(o)",
   "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": "(p)",
   "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": "(q)",
   "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": "(r)(1)",
   "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": "(r)(2)",
   "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": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2"
  },
  "r419": {
   "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"
  },
  "r420": {
   "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"
  },
  "r421": {
   "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"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r423": {
   "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"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r426": {
   "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"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-8"
  },
  "r429": {
   "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"
  },
  "r430": {
   "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"
  },
  "r431": {
   "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"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480606/715-80-35-1"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r434": {
   "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"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-9"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r437": {
   "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"
  },
  "r438": {
   "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"
  },
  "r439": {
   "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"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1"
  },
  "r441": {
   "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"
  },
  "r442": {
   "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"
  },
  "r443": {
   "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"
  },
  "r444": {
   "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"
  },
  "r445": {
   "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"
  },
  "r446": {
   "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"
  },
  "r447": {
   "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"
  },
  "r448": {
   "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"
  },
  "r449": {
   "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"
  },
  "r450": {
   "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"
  },
  "r451": {
   "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"
  },
  "r452": {
   "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"
  },
  "r453": {
   "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"
  },
  "r454": {
   "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"
  },
  "r455": {
   "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"
  },
  "r456": {
   "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"
  },
  "r457": {
   "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"
  },
  "r458": {
   "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"
  },
  "r459": {
   "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"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "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"
  },
  "r464": {
   "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"
  },
  "r465": {
   "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"
  },
  "r466": {
   "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"
  },
  "r467": {
   "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"
  },
  "r468": {
   "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"
  },
  "r469": {
   "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"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "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": "(i)",
   "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": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r473": {
   "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"
  },
  "r474": {
   "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"
  },
  "r475": {
   "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"
  },
  "r476": {
   "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"
  },
  "r477": {
   "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"
  },
  "r478": {
   "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"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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"
  },
  "r484": {
   "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"
  },
  "r485": {
   "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"
  },
  "r486": {
   "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"
  },
  "r487": {
   "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"
  },
  "r488": {
   "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"
  },
  "r489": {
   "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"
  },
  "r490": {
   "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"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r492": {
   "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"
  },
  "r493": {
   "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"
  },
  "r494": {
   "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"
  },
  "r495": {
   "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"
  },
  "r496": {
   "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"
  },
  "r497": {
   "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"
  },
  "r498": {
   "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"
  },
  "r499": {
   "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"
  },
  "r500": {
   "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"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r503": {
   "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"
  },
  "r504": {
   "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"
  },
  "r505": {
   "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"
  },
  "r506": {
   "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"
  },
  "r507": {
   "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"
  },
  "r508": {
   "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"
  },
  "r509": {
   "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"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r511": {
   "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"
  },
  "r512": {
   "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"
  },
  "r513": {
   "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"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479845/805-20-65-3"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479845/805-20-65-3"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479845/805-20-65-3"
  },
  "r517": {
   "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"
  },
  "r518": {
   "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"
  },
  "r519": {
   "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"
  },
  "r520": {
   "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"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r524": {
   "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"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r526": {
   "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"
  },
  "r527": {
   "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"
  },
  "r528": {
   "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"
  },
  "r529": {
   "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"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r531": {
   "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"
  },
  "r532": {
   "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"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r541": {
   "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"
  },
  "r542": {
   "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"
  },
  "r543": {
   "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"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482477/820-10-65-13"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482477/820-10-65-13"
  },
  "r547": {
   "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"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//830/tableOfContent"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-5"
  },
  "r554": {
   "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"
  },
  "r555": {
   "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"
  },
  "r556": {
   "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"
  },
  "r557": {
   "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"
  },
  "r558": {
   "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"
  },
  "r559": {
   "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"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-21"
  },
  "r561": {
   "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"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "832",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483482/832-10-65-1"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "832",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483482/832-10-65-1"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r570": {
   "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"
  },
  "r571": {
   "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"
  },
  "r572": {
   "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"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r577": {
   "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"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1"
  },
  "r579": {
   "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"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r585": {
   "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"
  },
  "r586": {
   "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"
  },
  "r587": {
   "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"
  },
  "r588": {
   "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"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r593": {
   "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"
  },
  "r594": {
   "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"
  },
  "r595": {
   "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"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483256/920-350-50-1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483256/920-350-50-1"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483256/920-350-50-4"
  },
  "r600": {
   "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"
  },
  "r601": {
   "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"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2"
  },
  "r605": {
   "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"
  },
  "r606": {
   "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"
  },
  "r607": {
   "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"
  },
  "r608": {
   "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"
  },
  "r609": {
   "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"
  },
  "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)(12))",
   "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)(15)(b)(2))",
   "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)(19))",
   "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)(22))",
   "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)(23)(a)(3))",
   "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)(23)(a)(4))",
   "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)(25))",
   "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": "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"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r619": {
   "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"
  },
  "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(11))",
   "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(18))",
   "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(23))",
   "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(9))",
   "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": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r631": {
   "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"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r634": {
   "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"
  },
  "r635": {
   "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"
  },
  "r636": {
   "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"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r638": {
   "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"
  },
  "r639": {
   "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"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iii)",
   "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": "(g)(2)(iv)",
   "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": "(h)(1)",
   "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": "(h)(2)",
   "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": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-3"
  },
  "r646": {
   "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"
  },
  "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(h)(1))",
   "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(i)(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(i)(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": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r651": {
   "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"
  },
  "r652": {
   "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"
  },
  "r653": {
   "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"
  },
  "r654": {
   "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"
  },
  "r655": {
   "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"
  },
  "r656": {
   "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"
  },
  "r657": {
   "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"
  },
  "r658": {
   "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"
  },
  "r659": {
   "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"
  },
  "r660": {
   "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"
  },
  "r661": {
   "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"
  },
  "r662": {
   "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"
  },
  "r663": {
   "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"
  },
  "r664": {
   "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"
  },
  "r665": {
   "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"
  },
  "r666": {
   "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"
  },
  "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(17))",
   "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(19))",
   "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(2)(a))",
   "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(2)(b))",
   "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(3)(a))",
   "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(3)(b))",
   "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(3)(c))",
   "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(6)(b))",
   "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(6)(c))",
   "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(6)(d))",
   "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(6)(e))",
   "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(8))",
   "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(9)(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(9)(c))",
   "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(9)(d))",
   "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(9)(e))",
   "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": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r684": {
   "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"
  },
  "r685": {
   "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"
  },
  "r686": {
   "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"
  },
  "r687": {
   "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"
  },
  "r688": {
   "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"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r690": {
   "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"
  },
  "r691": {
   "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"
  },
  "r692": {
   "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"
  },
  "r693": {
   "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"
  },
  "r694": {
   "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"
  },
  "r695": {
   "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"
  },
  "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(7)(c)(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(7)(c)(2))",
   "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)(c)(3))",
   "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)(c)(5))",
   "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)(c)(6))",
   "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)(c)(7))",
   "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(9))",
   "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": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r704": {
   "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"
  },
  "r705": {
   "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"
  },
  "r706": {
   "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"
  },
  "r707": {
   "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"
  },
  "r708": {
   "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"
  },
  "r709": {
   "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"
  },
  "r710": {
   "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"
  },
  "r711": {
   "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"
  },
  "r712": {
   "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"
  },
  "r713": {
   "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"
  },
  "r714": {
   "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"
  },
  "r715": {
   "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"
  },
  "r716": {
   "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"
  },
  "r717": {
   "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"
  },
  "r718": {
   "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"
  },
  "r719": {
   "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"
  },
  "r720": {
   "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"
  },
  "r721": {
   "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"
  },
  "r722": {
   "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"
  },
  "r723": {
   "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"
  },
  "r724": {
   "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"
  },
  "r725": {
   "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"
  },
  "r726": {
   "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"
  },
  "r727": {
   "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"
  },
  "r728": {
   "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"
  },
  "r729": {
   "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"
  },
  "r730": {
   "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"
  },
  "r731": {
   "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"
  },
  "r732": {
   "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"
  },
  "r733": {
   "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"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r735": {
   "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"
  },
  "r736": {
   "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"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r739": {
   "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"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r742": {
   "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"
  },
  "r743": {
   "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"
  },
  "r744": {
   "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"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F"
  },
  "r750": {
   "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"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r752": {
   "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"
  },
  "r753": {
   "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"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r758": {
   "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"
  },
  "r759": {
   "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"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6"
  },
  "r766": {
   "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"
  },
  "r767": {
   "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"
  },
  "r768": {
   "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"
  },
  "r769": {
   "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"
  },
  "r770": {
   "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"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r772": {
   "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"
  },
  "r773": {
   "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"
  },
  "r774": {
   "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"
  },
  "r775": {
   "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"
  },
  "r776": {
   "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"
  },
  "r777": {
   "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"
  },
  "r778": {
   "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"
  },
  "r779": {
   "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"
  },
  "r780": {
   "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"
  },
  "r781": {
   "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"
  },
  "r782": {
   "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"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r789": {
   "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"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r795": {
   "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"
  },
  "r796": {
   "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"
  },
  "r797": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r798": {
   "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"
  },
  "r799": {
   "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"
  },
  "r800": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "04",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r801": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//210/tableOfContent"
  },
  "r802": {
   "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"
  },
  "r803": {
   "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(3)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r804": {
   "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(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r805": {
   "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(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r806": {
   "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(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r807": {
   "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"
  },
  "r808": {
   "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"
  },
  "r809": {
   "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"
  },
  "r810": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r811": {
   "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"
  },
  "r812": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r813": {
   "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"
  },
  "r814": {
   "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"
  },
  "r815": {
   "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"
  },
  "r816": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r817": {
   "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"
  },
  "r818": {
   "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"
  },
  "r819": {
   "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"
  },
  "r820": {
   "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"
  },
  "r821": {
   "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"
  },
  "r822": {
   "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"
  },
  "r823": {
   "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"
  },
  "r824": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r825": {
   "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"
  },
  "r826": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r827": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r828": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r829": {
   "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"
  },
  "r830": {
   "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"
  },
  "r831": {
   "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"
  },
  "r832": {
   "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"
  },
  "r833": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r834": {
   "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"
  },
  "r835": {
   "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"
  },
  "r836": {
   "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"
  },
  "r837": {
   "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"
  },
  "r838": {
   "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"
  },
  "r839": {
   "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"
  },
  "r840": {
   "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"
  },
  "r841": {
   "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"
  },
  "r842": {
   "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"
  },
  "r843": {
   "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"
  },
  "r844": {
   "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"
  },
  "r845": {
   "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"
  },
  "r846": {
   "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"
  },
  "r847": {
   "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"
  },
  "r848": {
   "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"
  },
  "r849": {
   "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"
  },
  "r850": {
   "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"
  },
  "r851": {
   "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"
  },
  "r852": {
   "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"
  },
  "r853": {
   "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"
  },
  "r854": {
   "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"
  },
  "r855": {
   "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"
  },
  "r856": {
   "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"
  },
  "r857": {
   "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"
  },
  "r858": {
   "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"
  },
  "r859": {
   "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"
  },
  "r860": {
   "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"
  },
  "r861": {
   "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"
  },
  "r862": {
   "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"
  },
  "r863": {
   "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"
  },
  "r864": {
   "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"
  },
  "r865": {
   "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"
  },
  "r866": {
   "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"
  },
  "r867": {
   "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"
  },
  "r868": {
   "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"
  },
  "r869": {
   "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"
  },
  "r870": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479365/842-20-25-6"
  },
  "r871": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r872": {
   "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"
  },
  "r873": {
   "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"
  },
  "r874": {
   "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"
  },
  "r875": {
   "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"
  },
  "r876": {
   "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"
  },
  "r877": {
   "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"
  },
  "r878": {
   "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"
  },
  "r879": {
   "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"
  },
  "r880": {
   "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"
  },
  "r881": {
   "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"
  },
  "r882": {
   "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)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r883": {
   "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"
  },
  "r884": {
   "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"
  },
  "r885": {
   "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"
  },
  "r886": {
   "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"
  },
  "r887": {
   "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"
  },
  "r888": {
   "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"
  },
  "r889": {
   "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"
  },
  "r890": {
   "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"
  },
  "r891": {
   "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"
  },
  "r892": {
   "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"
  },
  "r893": {
   "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>79
<FILENAME>0001140361-24-014799-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001140361-24-014799-xbrl.zip
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
MS?,%_C@+I:?63<V,%,_UDV:8-Z_A30"*@'F#P078/KY>A[5O=;;UKFP]/LI
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
MLC00OIAQBK3^FO''%05%#GN1]9]R304Q/@]K:W2LPLJW]L,+"KB:7#%/S$P
M85& +SK\LXH]RD&C4D>7\K%8>",0;(XG)3/)U^C--<_7/;DY"]TRV[EC6V#X
M5 .+A4D J((+($O)H[>U0C7'3.5"UU>%:A%;*U24Z?-Q CD9&XUN^8I+=&T
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
MJ?,JU=<,FW<,VS&LL%6KQI&"<]AMO:-&G8?\+*0T9M5_K..CCH_(+LV*<L_
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
M_0+3TCO!]<04)<4>5L'SFS@0N4FY>C(U4YFOYSXE"%,"=(:'_B*[8@QRGHH
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
MC! 7H)EQ3X713=\S=0,JFID\LTF-52M1]K^$F"BO8SAI8BS$[\$Y0"JB@ 6
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
M2?L5WZ#J>^@#FD-#@K)Q+VCLK**-I G&C5>00*=?+]!"7JQ5[U8+K%HORUU
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
M;IV*>%4DZKBHXZ(6*<2-7J1G,WB[Z,2*6!DS[-7:PQ*^("O*SN%KXUG\ZLQ
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
M8CAP[[/?G8HM5+-XXH[R^UZ<"_9JA6S\LG3>K9+SV$ZU[^];%<TVPN*F5WD
MTPMP+KE'%3?9N\'H6Y$]9J!5[[E74-^\$S^JVR"R8;W]83AW1I,B[$SQTYI-
MV&4Q&X^8!SM<J@ !N =123'AV"P5IOC[M&-)]7N%#<:/R\__<&#1>0"4/ZS4
M8*:_[M4C<H(>TT]9RJY/91N?>L@.T$V*WFH(61*B=Z,\*FW9?X83KLC>#FV
M@M^<<64^!8:]#FCKYS1_^1#<U8ZG#R)>Z'P9/;J@3CJWXPA,GKCIB-R$GCLW
M'0<R6WG/&O>DU%E]J;/Z?'2;C>Y<KL;19Q$]3U_[X[XK#I<,N-+7=!+!Z8P[
M]R0(EFC>/3D_6F+9QIC9D;M4G4M/JBYDB*1F!<\@0V;50&!!O2%:"RH@(TQ*
MS3'$GA")N$>8FV.-#CN#P>%=D\6$(@E%.H(BT')C%#<8<DLL<\('0.$"88((
M [*A"_^+'2O^PI/H%@/JBFP\RG(7&,/T!RY.<)UU$ W7XV\FFHYW^>AK/_H_
M]?V1;<>4LI-*?TY]<+\X,KU8;GIF]OYO[BY >[^:U*V&-E.W<>C&_Y87.@;9
M+U([3N4CKCXTIAA?^;^.1K:X'-K/+O_:-Z[X/!K8.A_7TSF]5@A9BYBTQ&&G
M 904,^@8P@Y2=B2K&?:@E"]2WTVXT/&%OTQ<L)YAAZ4BT%%"#-$8*DI5@ 1M
M%-/P>'8P@"\2%\[&#KZ:V[(#IPJ7J:(()F^'M:0.XEP7$>QHV#1GH-\C_WR*
M"[GR?R_<962DRQH?O?U^YX:%J_<*Q,8A(Q E5!%MI&*4,J4PXP88+M31?/ZD
M\]ZZ+NHE21*?C21""!54)HB8!40HH:0FSBJK".<(LH;:S8/H"[B'<->+S[NO
M"1S4H1(#+EE@/=LO[D:%&L1Z@%)G*#JF)W3!^.B00OH"K::_JOXPLNO5\+>2
M6?OQ,U>^A,,"UM#/("\=A\ *:HBD4@-FK! B3EK1B!](#_'][\Y>_*_+1S_\
M>M%QT.L"3R882#!P4!@@1&DFD3$"0Z(A%@(S"C7 /EPGY*FMR]? 0%$2_F*#
M-O0R/:IGXSGY/!Z9?U[HH&K;+); !Y4Z^4LZL*2.6VFS$4W.OJDQ33VF(Y0V
MS"C)*""&&^48000 :QP#D.$C>44X?VZ66)*V)&V/I,U:8+P"4 $?>_ I32$W
M'A,FN0H7P=$B)8 ]-WE[9IZ/WYQW>1X.^UEVH/KNDM.CT[KDL[1V?ER/>#,V
MK?*CKR.37@YM^.^;<+$_?I MC;47G'&%."9<,J& 8TIJ:#U%5#8,AFRK:6QI
M\ #4<0@\^F;_E #F]#N7 *8EP&"E.5':QB:#Q#"F/"4,"$.5!-2S/99C; <P
ML.LJ5J?QY6P\,V]NU/"+*UL_U4HU2G]?F0,\Z"O='Z2RC2XLZ<4FVB=N2MR4
M;.U5U7G&5-W[<F=<_VML@'<QSI5=U2\AJ<-)'=YBY>L5VZ#0YC%SZC=7_??]
M<,:&G^9<6%-N*4'$,HZ\\I8X8+3'5CB".1:&*;I'/_VVRFU3$N.+Y:XDT"]
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
MY&=(=L(9^QD>Y!0K;@2A4DE&L,$:4F\\4P+QJ. W-=G?G[. ]R1O:(=RRD9
MR8F0P"&!PZQI(S.8&.D\]H 03X4PC',F)-( *F\?@P/<YY"V'J0O&ATZH%&1
M0X_T7:-WN7#U7#2N[>ET!M ;7B:SHXD>N%./GOS7@VW[7H"^.X0ZSGD *%?&
M:D5@.!>4%IHQZ*SV4 HH<&-NZA[/ Q3.@Z:DU"[C?B=Q(<%<QZ0WP5RG8,Y&
M39<P8*%3Q 9H \)X[*A C%I.&RKV#V\3OU24:]2!:[_\(?Q5!<Y<?&!*JL7O
M-:Y:W[^DJ6=)]M#>6'?SIH8N3W_@]8W+E#&CV[!1]]'I.!R-PY=4'B['&<)C
M]R57@[ %>5D+-;YQA<O>C(:EP:D"7V?3(O+PH<_C<*'L:O1JOU39@BAFH(K
M^:\_?7SW47UQKW.G_GD9_IESGADXE9?L=?.7[%;E7_K#B_'H;OJ,V949BTT?
M7-OY^AO,>!. /_WEA^5'OQL%"N8__+J\S(V[]^A.'R:WVN7E6_SZ2Y2D%A04
M\>4>=.091C@8S#X4;SB_]L.O&/[RY_BD5:MO(O.<Q'?ARH6.ERZ4#V_T<Z8&
MW]1]L0R_O]SDLZ_4-Z(4ZZ5]**_5R3T[+*;70/S[S?3-2JNWL9%0,U@L_EYG
MCA_^O&'KUN[^?SAEX^X_?.%E[E_>F^DV],>!(TQD>)7=Y!'9_WA]^?KWMU?O
MWEQ]N'[[X?IS$-@(/U$4W\1#(28A-G@H?OFS^O61G#1(SGZE]!&++C6!N@Z&
M]WWVNU,!1?(LGGVC_+Z7O1^:5U.N:US1*BELT3*JU;(?H-T"X\H]B%Z$=W%R
M6G6D7)1'=7\X<7:%'!V9Y#^JV\#U8;']8<#NT:0(6U#\M([:!UQ,-J/)>C@O
M#]@ BH.H/<3N)/_G!_!#^?M4$2A_;[G,[+$&TLA'C4)N_+A<W /Q7E85&IQE
M;5UE^W+K[>WA#W2Z SQS%\_V8FFL0=W?I#EMW<GNW2B/6E#VG^'$*+*W0QM
MX3=G7#RJ,PQ[C:IS&QIMKRIOSR9;;=\J'?C C'TL'MZ!,J=F;'1(QH[NL^9H
MQ_FS=.*@(W$0>JX<='A0?+B.M;NT]8Y\GMS=#4IU-9CGME^8P:B8Y*[47<UL
MZF_0#2L747\T;![SNT\^/H7L;!:*]L]\@D>K>V^>J'T:_6<?(V$WNZ_?1_QV
MQ3A@83@G["2/_KVHNZZ)<>^Z*4=)(=X3 Q\[FW4W@%\5M]FGZ!XL WG75U\?
MB9DQ^L? YQ]<O<K(&P<4=@HB+PB63GH I/5>,PL,D_ T<V"/K@QU5NP27"2X
MZ!!<,&D%X$YA*QB!B$D,L50":4<$<4@?:]#&EA'9L^/B;JA<+94I,[IUV5A]
MK]2I'W/G)]'[]]-CS:J7#=WXB);PCB,I3XF/SQ+Y3H)ID3VOU7=7/(8URIQ
M6&OOA ^PYH2RQ#*/ 9<,$R>/U*Q!;MNJX;RY+XEX$O%V+[6A5\-:&1?<>HXL
M%YA*PAB4Q%-%!(6 :2W9T:<U$+QE-X7SYL/FE@FGUG!V;Y60C+A.+?NT%MB+
M(W?B[L3=YTKN(]O2!XA:/KI+0V;:$P*=00.YJ%HX5E.N[IN#G,DV/^:"#J5U
M/R,2)2Y*7-0ML-_2K,CRT;?YRJ_N7*[&T3\Z*%OKJJ)P,7E:CU5_6,WEG0_8
M"0;E]%.#OM+]03F1<*4S]3P4NQHMSE7K6/4*_WH>NMZJY3<[6\8#KW[^,!I&
MC>$J_ZCR\?27ZUP-B^JCQ:>XP"O_]\)=1G:^FC+S^^&LY>6[43YG_-\C1_\^
M9>C[FLM&8RX@@P!@A D@7'@JD8<&"&RDL>!(;EG<P[)I2.\9<^8Y67X)(!)
MK  (K#DW3FD@/2(8&ATG\4*(!36$6X>.%([&/=$8N3ECSGR"/C7_L:'V]]!5
MK>=>ZKN?A6]3%)WJ?_=3_XM2_>]+K?^M_[;X>?'3'W8#O"TK+Z>DJQ?^/BP"
M[F:1\@%7%#;:NF$1\'=-)?+G\<C\\R9\P>7%O_U1(,C_DL5V(^/[$ZVZL?*X
M%VU]=S?.BIMX[(074:<K1EZ2FU4%V_'7[4N;4S'S*HWN,=E.6@;:C7J]8Y7F
M5:I$!(I5L8]]/>ESE.S&0VE%@&6/SWXSNKT-=EJ)A8=^UM5D7(P#I@6^.D%:
MRWZJ0;O!^-U8Q4'%[Z/*L_^G!A.76"6QRGI6R6)JWT50FMZHNV@/)(Y)'+.!
M8Z[CV*U)?K_FX$L,DQAFSC"?W#3V>F@=Z:W*XR"3YCFIB2432\XYY=*8R>UD
M4#HV#JZYEYZ=8"O<Y>[&#8O^5W<:<R6;UI3]^/NH*+9-)$]"\F*%Y'IT&GWP
M[%KIS!U>6^<L;=LU>F][^5H-U-"XWH/><5D<:7(.;3FZGZEP!JGIATB=7E]
M5OGF:IZK^K %ISDR6'M'(?'<*D>T-T9 "AT#0FPU? ?5,PS /,$ ;$@P$#U*
M> _C;<?O/.]B^"391Q>;4U>3=A4O:D'%*IA8 PQH-.20 @0\(T(Z#:%SUC$-
MB%'&-&0OEH#Q7_.X977'J(>/AC&,>?F]7_Q7Y<(O'_RW\ES<3PH3ZEKE>0*1
M!"()1/Z+"1-0@6C)F"-04B6XD,IBZA1CV)AV('(9[)6X$C6(SO3WPZDK?9^
M@GMRV^E0W>+\A"D)4\X 4S:TPE@+*H1RH+WD0@E"D('2*ZTU4,!KK(AK"2JS
M*$OYZ$I->2*@;-<X0_8XQ\\46?;#&X=QE2:\VL/6O%B\V@&N**+&"82T X1
M(X2'!ADA*=/("LS:P=4LR#>+P>U3^:&BQUBRJ!*:)#3IGO8#A"&8:Z&C^@.4
MU% A[T@PIZ#V5/&6)M4B0%O&3Q^$3ZLXYD&T(=C#21M*VM!YXM>!HQ=G!FJ[
M8)J32%-+D%:<  T$<8QZ#@!5PDK2,"*W(3C56MN!/0K@,\6@;@3I6[5>+#GF
M0JM8&16K6L-95,ZPR=SW^/-A<JVWQL53(MY)@]\[M]2\Z'J;T"-;"(F3#M,R
M^]+^]Z08EQ64UZ,5(8,R8Z*$F#<UA/GDP@%5!#;Y[/*O?>,^EEW?/SDS^C(L
M[U+6>M3.+^,04U8XP@4GC!M-L)7Q #-6,NX;3/RE1@Y'B9IV>6Q)DLHDE?N6
M2D@91I0IIB B'@M)" -<DJ!6>H_1YO8JIP]#PAY@Y]=G.XEJ$M6GB:H 5E/B
MK6$($\RDL@X@A0$)3*:(W=S=_N#!O720)NE\J=+)/2;<..8@0P0#)[!"4&OK
M%0&*:K^K=.XQEI5$,XGF2Q)-%4Q,@X/9R04C% MA+%=2$Z6%U+8I2_>).N[>
MXT))6I.TOE1I!5H+[#2Q"@41Q4('%1=(SX&W2'!PM/F3S\JJ/&XHXY#SO(MB
M$HL&8QNG.+\T[YM8+UT<K.O#"P\"/\>JP:W"L)'1G/VM'&M:8595.?AISG3E
MQRZ_J=S^-1\51;UG,390,BJIDR08YDXS[R%2U "N'4,[6^H;7-TM*Q A 3W$
M><<P+Z6T)33H(AJ4:LM68$""V6$]M8IYXI12VBA.C)7(*DVVF*?]XN->"0(2
M!)PU!%C../0(4FXM\9!JAC0-FH"Q0&K$.AAD2W"0X"#!P8'@ $*NE9)0 V6)
M0TQ0@(*]@*@/6&!(PRCZ%,A+4)"@X!E"@7/48XT%XIH1P81BSD,N-):4AY\:
MDKI3U##A0,*!YX8#G E'*,/>4$^,L4H Z8'6# MH AJD$&6"A@0-+Q(:H+3,
M"@R0U9 @$W !>V: D@;98$1LSIM/(MWI8.G#4=%KV6_+44?K1RCUR@N](G"A
M;YH:]7&2FYLX?WKDPV84\^AJ.9G:W=X-1O?.97?J/A\-!ME8?3]UC5DWAL<>
M8ATM,T%6+61317T9WXP>Q'>C_%I]_T=_?!.+40-DA0OE7U\O9W?4G9R:0$DL
M=Q!B@IP2*""4U@@I!XSDAZ[O:1GTQ*2'&3K=8->GC6S]*8E5]\1JZ\RI3ZY4
MP*]'3Q<N@ @"2G,#-2+ 0DV8(B"(EI/0<PG/(XC829DZ>H9B$JP."986C'(
M,72<$\V@(L()$DXL3BGWX@Q#<TG(DI!U3<BX8H8!2C$0A$FIB.0><T=-.+P<
M/;/*M21@2< Z)F!*&*( Y((Y0*#2BBOL,(;":>KV<(H=,8R4I"M)5\>DBSM&
ME07$&@D)T%)!Y*"$#$)(6.E@/>?@3!*X)' =$SB,.3$4.TM .-<L4YQ**#6&
ME$@E[(E"'F<E*,>-86P;:.M6I..3NZO%.DQI-YQ3)5DW,.MTJSUH3+AM$"6R
MSX*Q[.70!N6YGS>5DCW(_["* $NL99RX@'+&*<8!9EI2(\#.>6 '"IXPT(.@
MJ4JV2ZS7V1A+DO/G+N>/NJT))PPSSENB"35(8& XLM1+3K0SN!MAG,>5H4G"
MDX0G"=]&PCDU' ,JB!:($(LE8=YIKF-F!"%-@TQ.'4]JZ'S!95,5>)>8,$E\
MDOBG+_<0 F\I(]AZAYW3A"$H- 620RLHHHHIDF);1Y+QCB9H)T%_)H*N+?#$
M ,IC*$ 9+"GDRB!&F?9LFSSL%Q=C2U*>I/S<I%Q"Z*'B@%#H"51864F1U)X@
M)2$"9]XKLDMLF 0_"7Z7+'=BD$# &FA@.-^A$YX3@8V%%EA$_>8DM?U9W^)Y
MB6Z#]7WD$JOM@XTQ?-WW]\WQQA]^_>#&6;]$Z5-7/9TR2>&DB0D[%FNFR5J)
MDX[1,3D@1:7._?ZPG)<$!9-93,(_@EA)I 6"$<>1TI [D]H!)A%*(K1>A Q!
M3&I#J0ORHS@3R'G,N!6.(<> Z5Z,)8E3$J?.BI,G1'@&O*:<$.B4YIA8#C%Q
MU%C+=CZ17DX[NB1*+UR4-(8*,*B4B*T0*)78>8<EH H)IE27VKDU.!X0ZEKS
M]R10+UR@& %,$LVH5)@@#20E7GI%,8X=D/S.T?67VQ<MB=8+%RU,&+$>8$-L
M]#\H@;GAFCE!,<.>BJ/YNY_3L7-<OW9VIVRLJ;JH_O9SANZ^[V?XTJW*O_2'
M%^/1W<\9B#>=7I@]J+S66)+SB. __/INE+OP>V8F>>Z&YCX;YVI8#,JJKTPM
M*L9ZV="-8RG.R9N*[4+8DX8!1[EU>7W563$:].W2'IU#Y\:#O<GYQ0RVB\EM
M2;'.G?M[?;TD?<]/^M:K-ZO4]JCM3 ^>-]-SYSH>.]5-+H?V>G$(+:J6@[)T
MY:_5][H)0H7@P98WL46S(E J)TELPQH4)@@)3P&;A%\)OQ)^=16_A-: Q99
MA%E"L%086N(H]TP@*=P9=KA+6):P+&'92\0R+$3,QV3*,D\D0L)@A)&A&@1(
M@V[G^NF7$ZI,.)9P+.'8J7#,86*I0)93#(BA7E(K%'?.2@HU1:I#<>($8@G$
M$HAU$L0VE,$<',4,A 0ZR0T(*$:]%9(HX83@6@KJ10>'EA4E)UQL"$G2S@4D
MCPQT+7CQIW-HF9>P,F'EJ;!2.Z^519P01A %DG%(E4?*(,Z-VMQ#^-EC7/N0
M^VD1[;@I'T\H932!$UV^KG/J-Q>%-CYG8,.=7ZN!&AK7RWYSICQ7,PP#B0,#
MIF+'<\P,:]SD;6; 74W&Q5@-HSC6( P!I@'PA#)F"43!8*6,6T,<-P[QQES,
MQ\#5LM.HZ"&)>Y V]1H]STRQ9R\K^V'7?]W;_IZ+!$;7<^R5[O*BLHKJI3I
M* F,T41PHH#4VE,!.1=*4<ZE7R&"I^D:BG 2UB2L+U=8B8.44(* 4Y9@B!7%
MB CM'54*"-342J@;#4!Q#Z&FD:A)=I/LGI/L;M,F:)7P"F^9]YPX3(.RJX$V
MAFI$(3586T&;BF*/$E_>SKJ7/<[/[_3=SZZ?V!.9<*'SN+ #+$A-A2+,$1>P
M@:B@C$/*K8<(0J.D7&4#G["LE\J>D$T-_+N-!>DT3U*[O].<$LR,%)(+AHFT
M2-.@@1LCN=82<]Z4;]'A^"3LR<:A.]V6Z'2Z)YSH^.D. (YR3Y!S/#9F"^@
MK/,T&NT<R*92G_T50E/8(^S\E/:.5$+OH^BY.0Y8<LR%CHUDPXLOYE5F[GO\
M^<2-0,^A*/D,4A52&?'VL?1.ID$F#N\"AV\]'/AZM,*/70:@]?)LX$\N'-5%
M8,S/+O_:-Z[JX/W)F=&787F71\,ZF';24.\AH 0@)BS&Q%OKI&#<@0;W'9ZG
MV^!4M)O0XM2436AQ1+0PUGOC& ,&2.( EQAI2;2+:,$P;7 // TMCA"SX[QK
M'H$$( E 7@J 0,F5QHHY"(*: 8EB0'HM("!:(2H;*B&>!B"I+C6A1D*-YX8:
MV#$OI2)."T$HALHK3@F7W*E@N."=C914!9H@(T'&LX(,!17$G%(%K2)"*TF(
M):9LV\^YM#M#QLOMAYQ0)*'(2T$1:X24FB'AI2$0A_\*1+31 488$TV5/$LH
MDGP6YQ 4;<6D[XMB$JL 8Q_FW!7CO&_"81"^$RS/E'MQCF6 6Z5$Q&U_.!^U
M*@7\-&>!\F.7WU1N_YH_["3/M40.>D^D4$0:KHSVAFI( 99,LYV]'QN"+2U+
M"B$0/2Y9QQ"H<PI&DKJC2EUY5&\E=)0!8H!@SDEBG5!<.HL,)D!"*5!#0X$4
MX4RBED2MA:AIH("D7@7)@013** @' .#G09 HH:TP%.'!Y/8);$[>['#WA#/
MH SG&R.$<X4U4Q)R[H+)ZFU#X^H45$LBET1NEY/.: TLQAQ33GQ4)+&AC L"
M*-1<T!212O*6Y&V/1QPG5@KMRDGF$&!E*3(4TB!X E/1T,\EA7.2""81W*,(
M*JL5]89A;S7Q0@LAPQ6OG0,:4MXP4F ?L9#G*3I'"&\\J/@;1HH.UG4X].JV
M/[C_.?OWZ_ZM*[(/[EOV:72KAO\^_7O1_]_PDA#<C6<7XN,7=RZO?55Y7PUK
MSRO)6@ZQC'L:KP]=FW*T+!]]FQ/UE_C3[/7KS[T(%%#C2>Z*YG5=&'57^]/
MC<<N+_<O2,/2HA_PPM)&5Q_[-LKMXLOEG,_RFX&K1WD9;IS1J!^#B_,[U_X^
M?>/YWVV_N!NH^WAE$+2_[%^R?CBE\G%8>WB3P4B-IR3\X==/[FZ2FQM5E/$G
M4QIEL]A3I,^OG0NLU[;P#(+L^U_M00/NJY:[32^ !2O9RZ$-ED<_;PIPU<L
MJ.0RJ&"6@:"7 :^HT@Y(B84WVK*&B<A=B&.A'@=-_3VZQ'@KSI15V_M3DO*.
MK?8D4KX/(7^4^E*96A0P1(@C3 ,./-+(6 ,!Q0U-^;H8-NL2NSU1MCN:'Y<$
M_%R/\64))P#'OK@84FL(YDPQZ A6/)SD0=[]SJ?X$8KY8#K/D[@_/W'O(G'3
MZ978^1D1-[%S8N=G1-S$SHF=.V5;""N< P)"Y F20@D$K5-8 20)<IO+[Y)]
ML*5]<(104KNI6K%(J^_OFX-./_SZP8VS?AE8_T7G?VZX;2JA.<L@](E[]Z5T
MAF?#2>O/I8 ?B\F3#VJL .%0Q8'AD'@HI75:$4^<LXPKM'-F7BKW2"+TS$6(
M,2Z8$Y(J8XB4(F@R!&CL8P,%QTT''<-)G)(X=5:< ",LG#V&41E.)*$D48C%
MM#GJM!=VYZJH5)Z11.F%B)+ESDKLH-2 $VJ55$0IXY6&QB($N]0(K&%8(&<B
M"502J$X)E!/44L@X$9 ( @5FF"*&&324<)':9"712J+5THKRB"*/PRGE%1%(
M*LZ=0IY!!!QW?G,"73IV3NWMWM*'?Z>"03O\<E'=X><,W7W?HZ/\W2AWX7.9
MF>2Y&YK[K*RG&%2C==2B%UHO&[IQ%WWINU"Q\V' \,7<NKR^ZJP8#?IV:1N[
M'R%L]2;G%R#8)RVZ=\AWDFE/OD])^K;495;IZ%&UF9Y#;Z;'T'4\A:J;7 [M
M]>),6K3G#)K1E;]6WQ_,%Q52$ZVT$J573 MBF:32ZJ 4";*YH>:+C\XD_$KX
ME?#K5/@%M6"<*T"$]@0+HPUW."!9,/6H 7CG#IXO*S26L"QA6<*R4V&9= &1
MB/<F#G/C&JE8Z8D]T,9HI\3.8?Z7$Y=,.)9P+.'8J7!,*>XHXI90IXCF0@H+
M!-;02P4YD5T*"B<02R#6I7U*(-85$#.4>0F9HXH!XH367"$5%#0/#98"[)YS
M>=! _..H(^W:O(@$;PG>$KR="MX\TMIR#SPWAC!+)-1<:JD$9]81M]EO]K)A
MJ2DV?CY9%,NK)T_+CS"!I5R^KGGEK,VE'@ULN/-K-8B#N7K9;\Z49UJ&8:!D
MX*03)T(T$N*D8/L0?,)Z,CN:Z('K%(ZV6>23(;*1DS:41I=]$:\FXV*LAG%C
MZV5H#H @NPAPJ(FV2BECO&., 2&9MDW=<A_#7,M&AZ*'I>PA0KN&==MM9!>U
MJ^/*R?%D>4]B<MBLL^<&&]$??A,^Z?*BLM7J@R6\$P8J8S&5A'HD):62<RLE
M=\A2NP(WCI(6\;BC*DX(DQ F(<Q9(8RW"BE)-$&>$FNE<$CQ@#(("NE08V/7
M;C1[Q#TIFOJY),!)@), Y\#TV*9+U"K$@<8#0#E53"J"23!.B F&$+*("!G$
MNQWB[)Y>4)0[<[$!=F2/\^>KY^R'.WXZ=85) K,$9D?1GK 66 *-K*6 &,F4
M4IXR[:@G OC&P7\GKCMGN,>H?+8 EO2F!#4=AII=]";G.(G!,FTQ(=+$4GT9
MJV6PY0I2JEI::GO/!-A.CX(]2LBSA:&D1W5LSQ*X=5J/0D@J1"E&B*B <5A
MA9B"FG*.F(5-,\OWEP9 60^3KF4"- 6']QOCG__XA_ 7%3AD\<?Z]C]U'N2R
M7$S)V'COIKC^TY]W?>,R9<))%8AP'V@6*#,.7U)YN#S,^N&V7W(U"!3-QW$Z
M8CCE"I>]&0W+Q)IX\&7O^D,U-/WPH?EA6;PZ_,*S[2EE!D[E):/<_"6[5?F7
M_O!B/+J;S>"<7IDQ2W7_S Q4$43A]:>/[SZJ+^YU[M0_+\,_#P2^_I09_P'P
MI\=??S<*9,U_^'5YF1LI\^A.'R91H:A6\GA\YW8D%//1H\M331OFD?[P*\;S
M09CK5G\75G>A(YTNE ]K_SE3@V_JOEA!S"7D_.4FG]VHOD6EZ"[M4"7.-7+/
M@'MZK1P@>C-]LS*_IQ&&F_.%%G^OL\T/?][P\FMW_S^<LG'W'[[P,DXL[\UT
M&Z+OOV\B-*CL)H]P_<?KR]>_O[UZ]^;JP_7;#]>?@Q1'"(KR^28B?1# IN/U
MES^K7Q_)28/D+/_^+Q<7'S]=^?[ +?CO4X"!\9_"SW_"XD]_^M/%Q<,[+WY>
M_/2'W:"Q899L<WK>'V;$G;W_+P^.HHVM8QZ?SFU@]?+#;_^9_?[V\OH_WG[*
MWEV^N;[Z])^][/V'-VNA<2_/CAMV.30WHSQLRX>KZ[>?'US)KJ^RP#F?KWY_
M_]OE]=O?LG?O/UQ^>//^\O?L\W6X\+?(4MOB]WZI]MO;-V__]CH0;)9D%LX@
M&W] &XFVQT-V\8=*J0E<[O*^65+)7JNB7USYCWF0A.%839,X/P>J]'U03X;C
M8!P&;!G'N0[AK#1]5UP'PKT>!$VN4M[BK_\EI3)"&HP%\-&=KP7UBFGO&$06
M<;=%-J<+JMI=W)=\,OUX?SAQ]G(\?82A!GDF.7 2$$"M\(89H2T%2FH*<=1A
MC[._\%6E8F6_O?W\YM/[C]?OKSYD5^^RUW___/[#V\\SKIMIDU/"__I@0Z;O
M5_5LFI-Q\SNV( S:FC"[<U_YSO5WV\=;HS9OC0_SUM=!E.^SWYV*CI(L&BZC
M_#X@XM"\RG[\MS\*A,!?KG]_URM_A'_)II>^N>4KHTF^?&E2S*^$N\^NOJF4
MVN4/EPN97QSE#Z[/%CC[\ZT+"M::I?>R\>B+*Z]_ZX]OPF%=9,5$%WW;5WD0
M^9]J!VV_R$9#-]6BX\SS@8V/@?PO138(&HXKQEEQYZ(J/;[/\NC''@1[+WYA
M,'UVA,/ISR8/2M9%[DKO4WBNNRUFTO4NZC3QXC"#$LKXWW>CH+__(_QST\L"
M%ZBB5RYB2J*HY^<C.S'NX>VC/3 >96&7!X'ORI5<EB(9B%(N)3P[S]ZHH0JO
M6UT:E>N,=D,^5%460XT$)O#/Z#:^5/SLC2HR/>D/QIF*G=C,/\-+FZ#)9>%Z
M7%T M"*^7!&VW)2$^Y])8,1 G.DB(_6#_=8+=\KMMV"S] +Q[^X&@?"][)]Q
M+^)CQDZ9F_@JMW&Y@;I%-&EG]PC[\,^X(!?LROMOX8*;D?%Z9%78YO#P0(&B
MB)*7NUO5#X0(1(D+#Z\[+/\^<%^4N8\K#'^]Z^<EX>(;!,$8N**HD2 :4N6J
M\J 3UO8VKB-\[=4A\0"WP0.RA ==!CS2Y@7I80#O'S=JG-F^]X&EPI)4-*LK
M)/'YZ+9DCVAVNW&_>L>BY*2;<,)F.H\<HB)'#P/WE/Q2! D-7%7]R94^H$H&
M1_<1+RH^';IQY*/(5A5^A*^-@H82GA86<Y>/OO:MJW-CH-97-^R[,L=?E4\/
M=M?$W,Q%-2M<_K4?Q,]]OPO2,_UD7%YV,]&E),57"6J-&CP"C_""M]'+=%]]
M)2XQ6$@7]\&P"@9:'DR;+W-Q^X?+M NB^]55JQW?!)*$&^A^!20+^0_B'<D5
M;OP_$Q=EL2)K?,*7_E=7@4=%J#F%PUV5_1K4LO#$BAP/9-*5.]4WDP!&\95*
M&"OE/'<!3TS8O8-*)FW#N.PPC-OL63G(:[,VK\T/\=JKJH<H+0N'9M5#C4Z3
MU4[>AYZ4ZMK7H!@$/EQ<+==?=B*-GM9X?>@B?K@@>H-!*31WY>D\KDON7=Z_
M#7<:W =F#LL.J#%UXEV,O@WCH5D)?GG43#]0.DF*[$L E;S4&DH@BO?_,ACI
M(+[?7-!<QO'PK'_-]L.Q/"Z]A,&>B0(QMWFBL/6K(S"*>I#\Z <,>]./QV5-
MLJL7<'-%9J BC)C)>'[EKN_,=+VWHV+F;,SLZ*(_OK@/3PC$\.6A7B-""111
M>HM@D<Q64GOSZ?$\>Z_:@H(6, K/\&Y.W,BX4ZPK!3]^44^*?HG "\6EB."H
MXI5Q"7$SW=4$E(@'^%1S_*D"[8 =U<?*W\(=PE<+=ZL']].U+%84-8N8NC#=
M\/[0].\",4<1EN+KC(,R!T#V>30)=%&!0K^/1G>90('?HG97HTI=S\LX@P0<
M%+MX&R$69Z15B#8O*+=!J1IR8-S+,.]E!/[4RKRJ:?-5>^-Q@(;172GI152P
M1^.2F[(-+;A+]]Z5_UP*T8/1*](B:L,K4T6,0AIJX)D'AGE(?&/9Z>,H$VE7
MA04!>A1AJO'[ U5GKKU'5;[$AI8OS)PAFC'$'%!$6:D!U=X2Q+U2A)E58;5%
MRL!?W>A+KNYN8K"J3!?X^^>]4$,^SMR>85Y CPB:?P\/"?!>KJ28(]3?7WU^
M-4.G7ENJ.,2,PQ)!K"R1L2+/.ZHQ]P1!(+9(VGI$E3>7:ZCR_L.[%72Y*)R)
MM GZK@VGT0^_CMUP'5U**U65.-SRU:5"7"JE&0QO3107 ')AM&:: T)DBU=_
MNXXAGO#J06%8\>KQS3_?A5/EH"> ;.5V!+L? 8_B7]NK9D_1#7?6Y9;#,=-X
MVD%/+0A:[<K,&WP^Q,T>1B</0\Q6#F1X* ]R?6L.8K@<=0-KNLO<(6K**H2L
M*.O":QK-U&TVS#ZHPJK_R:;%4=G?5/Y/-\ZBX[-R2!3WMWHTR!:>Y=G9-^.6
M.@V/38C&W1BX\=CE989*L!B6J+;,-(VD7,YQJ;X?CXG%7<O@>/EM&YVMI1S,
M0\WA+.K/'UG[^Y0^\[_;?K!LU'V\,@@&4O8O6?_V+E@=X27#RPU&:KP)^@XJ
MK*WB'G Y\'$$DV1#:%U6H?5]D&2KJ,[^S)%@STYMCV@KJ^R!M$7]Y:+__>*F
M;ZT;_CR=<N\-,- :B3TQ6@F B!&4:(!4L#3<$N@UW0((XCT&1'!+"45842F4
M=)"XH*9Y&]2-8,Q_&;@Y!Y;_J;%FX;Y$-:W4$7,7^3D"C8J\M$AWTC'N^^JI
M.WV$P'57\B^R%=K#$WV0CS..ROO.*+F4U+$N4O_DF#PBVG -@F)/)+'0"R.\
MIL0I+X@@6\R]WAR3QU1#*K2$Q@K"--:!73DW@><]80K1X\7DT<Q@_OS^KQ_>
MOWO_YO+#=7;YYLW5WS]<O__PU^SCU>_OW[Q_NT-L?O.[MB#0,32K7>7S*7K^
M'NC8>.IM^A*>IQXW"\_?"W?EWP9ZQN!I41,2YZRSQ$DA'" ,8:FMY]A"@2DA
M3FPSDVV3D'#&!-%:"P$,L5@H &DPOHEEP>R6W&XO)$U*V9,UN^6,[3JK+"E,
M/U>*:-2-PB?_IH;A="^/%C>C9.V0"6C4H!359*R5DK1YXUMP"ZFXI?F)F[>K
MQ1ZCU>;HHPU:O:-;&(D'(7)C/'K3E^@N1&X$@4U?VH/FN]ON/!DW#[);C4'8
M35]BN^Q6HQ!N^A+I@DCL_^BM;W_K+6P,*&_Z$M]E"Y?38]8<0D_9G.@3N0OG
M@\KGR0_C!C?)QDJ,Z ".D=O<QCZ.59*:FFO!LSCCP,W"PH/!??R[NQM7"62K
MPPE_O;S\. LG/,@TSV-V2CY-PY@499+3XMRK0K;>QY!R_$!U!KJR &A2?C9&
M2.,,SD%?Z7Z5[M$+'_OJPJ96YV9,11D6#V(]X3&ULS5WT4YS90#XIA\]X='G
M7DMA*6\3W3*C23'-6?-E7E^QB"E/LU%LF>T5%ZJ*T;!,M)][F1Z\M^GG9G(;
M&Q@:-\VO"U28#,9EXMRWF[ZY*;WX57I*-"/GV3./O5]#,YC$&'K]'1<!OBFG
MQLURD6Y3RD9W?Q4GB"PS*:JUWZI_NFGA3HU$TRR968"["OB'3X1[CVZ#&NB&
M7_OY:%AJ+>9&#;\LR'UIQN'9\Y>[5??3/*<'Y)AE.=4?6R46/-RH8J+_NV2&
MT?0YF:VR>FY'MC3;QF7NX907*[WJODHN&E:-DHJ8Q1FX9G)[-UXFV=W4SHLN
M*S,I(DG"OHZ^S;ATF3,C:6,07I6EN%.S,;/N2^Y*YOSOB:U4N?I#'C%YOWA
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
M<XA3PE D.-52,XP#78X9WN$X_=?'LI'PWRKO#I_XI)#?/^Y*]H!5L@=L2?;
M9(P9;JCF.;K<.P=R[H=M7?GSV>SSRI\O'+A#\F>!$ #*8"E"A@+!1  Q)Y)C
M! @!3:F,ZQ.=AN?/!(PQWDS9O?+G4]HL%V2-O.%3KOB)S9#+%V!GM8-N8F*
M+0S)G)FFTD"(1!!(!##B/   "!YQ!@C##<QY?^7YS:N>F//8OK.!-_\9D?+*
M&<Y@!W\*S@ 9IH98$@\$<--1*;-J',-&:HZID V=3O97VWKD#&RSBN(I(N61
M5:]&[_B3\R'[AJ0G5MI.#NF3.BSV"Y==(#@Z^AC.'!Y#RAN7OT8XQJ'$%"$.
MF>0<ATQ;>4-#9/:8QKU=WA0CJA=V47M5\>TO@< XA)M%I6?F(CAUK/.T?MW+
MVOV5=UYYYZ-Y)X* &@TI(P @+0,*-0-8JTA;'JI00Q.(_77U07DG(5?>>=:*
M/SI];N=*.E('+;^: ')FFGZ/H#TC.>1*E56R<&G3P^:\=8^,'8I0)X]$_ND@
M/J3LY!@H!'6DE P1UX%@D=1,HA!JPR*X3Q>P7EQ9>!R&[,PBD)?%LJZL^$_'
M&*ZL^"FQ8B0PA%!JB2!!*G ] Y5 !$982@UY0X.Q-3.F'U9,@S&$YY8,<FJ6
MU6"'5']^97]Q!6@'5S%6?PP[ZN6 XL=.C:7#P^H7.S66IN%:P6N]Z9/O);36
M\RFH=1'JNVZQH=7#T4>O'W8&G3I!T_5.T*<]@Z5KIYR(.<WY8)Q/5UV9CCDI
M>N.Y<:!IWF#8RSK?Y+!J<=QQ7-TC&C/M >,N)X,.+P=?0>BM<&C@;=WWVJDA
M%(VV="KQG6=7FZFZ]?P89T4GQ&02RX>F7B5 RQ!2#>RK0B>K14ATQ&D06<-)
M<-U'KQ*N[':4)6@0VE=@P (>112'@DO"$6?K@Q;R VIH2M2YQWJ7+D8YX!JZ
MUQS:;F2/0^Z"&CO[D[4?08=S6Q=+'0COY'T8^CBO3DV=Z,[F8X\%?4^*U3]=
MMSYC)<.._M9Y/XH/YLW$SYBV?Q06044S]4AP9*2$ABE #1(R%#3$@9(,&$T$
M!>TYB:MF *Z; >]_>5?9 <%F_W9K"U3]V[/XRV:#5IEOP$^-+AO4JW(/+XL&
MX.";&G[]IN<\GHS=&/&?71M9GCY\^RY.L[G])9LECG^,W7#QUXO,LI$L&X_0
M-Z,WU5SW\2BJ?QS]FB9Y!VW\S>CMW6R2/&B=O7 #MJR4SF>!EV.QEDNM5NCO
MY-.'VC<W\6<W!-Z*\Y'A]E_QU,W8GI;=X3/=V[D:#A%F(=<::621G$<BC")&
MD8I8A.@^4F.X<^5S?9.DM2;Z'Q?RM@XX#]KYJ.C3G0\E\PT.?8>0E0GB5OZX
M;S[KAQ$?N1%GJ3LY[STHIJ=GNC;"W)Y[,<*A?)V;'6%%A6]A=&N?4HSY]I,
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
M$K?ILG66;ZM5Y=6Y($Q9U5)4U:S 8-)<3;/>6#.[=<V1JCJ:E7*9#0!4G&C
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
M4;8;6TT35#[S-.;3VNUYPUIK[6>.UMWW?O[)N?8 /PS54+=YNVCGO-UVK.F
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
M "VO"*1"2.J0<V44H!%%4F(FF_JG/3;2&S%)$,*2"")01!BS_U(0$*-50**
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
M)WG*Y'E"!:+1C7827?GCC,?-Q4=#G>F!]0.7;1ONYW<^EST.6I=PN:8AH4@
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
MD@#HS79X-6_%V*+!IAIU=5T\.3MMB__:*M%RPU@+#".&"0U=[QL5((:984C
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
M+DUU3*@U3"4B9<P1:YE$PB8+#:U-2 :;>!N>J62TU4K[)GR.ST=#.Q!5=_6
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
MX*?HL)P&&Y@JBAO-%8W]6V#VPJZ@9SC[H[ZU9MBUUZYP=+VVGB/&3J\W\!\
M80T ,VX% ZJ(?_?K;E__^6(R 2<)2Q7"1L6()HHI;!FCB@HA3&KJ<M#G7/46
MF/K>;P+9T-;-5G(B8^JTHTA20ZB*>1)S"U*%I%76H6UL)B]>%=0 M/&D 9 )
MWP:^K'OT11:J,VB#I0;L^AY7/)AYD?KW,.ODIA/D+O^QRBB3%7G,X?0$?D&-
M^ 4_YIU:3O\&BX9W)8W;(3-N1&;R%#('B@7W9:1MUSMM-?#;?[_P" '?2P=K
M^%XX@<+'I0?<337RPO-;Z[C1;A#&^:+6"5M^V60I_DW6#Y[U&GT?)+P_S,'<
MS#?0=>3QN4SYXYN<3:W\^&0)A6I\JH]HR3-A$O\"=(PN>P8 \HW5UGM>(X).
M-D:]-8X@ZGAC)2)O(O1E">.N%L2[J=B5<D/[WBNO/T3%EA^5%T.[DFTS]QJI
M2=L5@R<EL4V&AK<I0EX_VE9 T=I2U)J%:\U #H.#\'/EH!V \VY:0/_N3P),
M%/PYFP/@G5=TV9"T[;JVQM2P&ZS>7[>^96ZM^,M3I[Y*_(S7--YF_;N+PN !
M^;\>G^3,N!QL/G(Z5 O<B21Q8 91E(1^BXIC9U""$&,Q21%;ZESX8_S\\R$H
M\5EG\' %XSS_VLG_"!W;>K+[P7ZV8,9]M-GGCK;O/GS\+>BKFPG/(2=I4E?N
M8?=Z<%O%_ A/1W@Z4'BRW,8R^&H0ISK62K%82Q5+GJ94H9HJ=S,A@'N'IY34
MU<5[SN"T6\6Q$>M^O)>=WIY5P=:AZ#YLO :)7ZV#K?F#2:T23;CCB36(4IG
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
M3Q8>-%3_]LU%1M7V1Z7YI^KM SE[A5KCVP6%\O3#P6T_"[WQ0CW\!X" O$*
M^ZSCJ^3WPT#\#?X'D9TNY0OZ#1H-[,UCHS\!2BT>=T&]E4<Y/;;J8.)07FAJ
M>..QYZ/6&M%HO:O+U?'+U>W<@;9BQE3HA1TAM!8J&PY4YY2?+=TS?Y[23YX@
MS4DC:4YWWK%C$W-MU+</\Q>KMD^H#_O+/_2[W;?][(O,S,+F"4S)Q,7"XI@*
M:F.AA+"",.E20AF5JU046M8\@3NL48H0TH:'B3J$@(W!\"!8:2%FN[!LJ*W3
M>4TK B]=RH(RT/-2[26K%'!Y!W ?^H@-QZD)H9_&J 5']+VOU8KCGWZ_>1\^
MH9]^" T/O!3[?)K\QRHO3?4KV$8WF$;=W;!XK/#^\G5JL+BS_6?:U:A@NP3#
MQY8#:U6'WUH;X&,]\&H]<'+X]<"/;+%AMIA[\F99KKX$_0YR^PZY,GWCM,Q&
MY\6@UT1R4-&.2G7)&QHM.N_8?]#((>22_'4K*W; N50CFVF!I50Y&6&82#"%
M4JS!_M'&<5] C(%V1)BQ6M;$\=6<ATPWYIP<B) EYR&4/=>$J,W+WA$SCIC1
M$LQ(F!8N%HDV@H,(I\HE22QB*ID_64UJG"AH@YB!VAP*MPW9VZW.U8BC?LE\
M ]?O89$R*W/[@_==AT_!QSOE6.KT(CW,LM"R.G2#;9&VU3I,;%^ R*X">!>@
MT)N2P_(/-A]V?:_WMUG_[J)@J/>!G^#7HPHK4\%E!MG8I4*EB%,A$DX,UA)K
M(FV*I%DWR[(I?.$VIREL+AKW*-3?I% WDNEWO:8RC1A5 KF4V(12HZ4 $6<,
MN9@YIUBM\?)86%=3F3X\D6Z'JK'K/,]Q2:ZRO7R+0.J8#W7,A]I:-:^%N#NJ
MHU.$TI[WS-LB2J+2P>.R$)5J;A01UF*'K3.4:IYRPG!*G$FDPS31:G.*U#A-
MZE'T)6VV!UN1&G7$N2/.M1+G=H99V,7(*NH40!:5%BF;<)JFV)>UYPC7-&'=
MBJ*(Z^H-/@=4:JD^V3#9<GPZ:'O&GPNV[$SP6\B!6GO-:H_B6^7C;P$]GNKX
M-TH0Z1P5A@NJJ568&\2PK_N!4)S4J7Z; T_"VURM=:]"><2.(W:T'3M2[A(K
M$<<D,=2 *J8YIA13E:2(LX1^PX$&&Q#*&D5K_'$O&9(KY4I-/GWWM/?5Q/G6
M*W;?C68VE> QG?6P, /AHG]WUREJQ8#=4:0<?[(]W;'YFTZNN_U\F-5F'3B,
M$FV8C9%.J(R9L BQ6&@DB4*,U9@?:V<=:.%L&HLXUBBF BEAG1-,$J$LYCIV
MJV<=3,E]@T0$/LHGNKC^[;=W-[_YY+SH_.I-Y#/UWEW]<GEU\>[RXX+L@:F%
MJ ]#7S[3!N396=S^!B:(FTR0[&S]?[6?9#=ZG_6UM1[6\FW2@C2A!3V@Q:[-
M$5]V$]M.BE&9N5B$;?@]K?L0=7J?^]W/UA0-W. /PSSJ=@:=3\4\![=@1L/E
MW(;(#Q]A"[I,IR>S!YC7,,M#PJX:YIV>S?.0HM0?%W 8 <G-K<W&R8?Y4-]&
ML-,/K,\C+/.9PFN^V'"PHP>537#0CV[E9[C9WP+C]FF5=["GAK8L\/[(P5@
MP>'Z*$3%YW:68X G9^%,<CR4@KEU/Q_X7*B\#W?Z_-(OG<%MF!S\O-\=CO*O
M=%=V[O*3J"N_Y$-0ATZ*"?JZ8^6JEMM'F%QY*F5\DE6G%X)DS-DV>:LVPWC9
M3;,)QCL0GLUS<H5#FI.O-J5SV4VS&9T;F5 =<*^6U;U8_7]*/O8;V^WD@TE4
M_92J"EH4*,T//JL0I3_E_OL=D/WC '2FE4I8-%ZPVKS493?Q;V'!HD:U1!HO
M1&TVY[*;Q+CN2;5X084>WDE=_/-#88!4"W/4F3XSQ1V65DW8R-S%*ORTF>3'
M)Q1V>#)'G?MR)I$!LZ@/%O # ,$4"/B]4FKMLY ]3(SV<P-F3M91A3IQG]G/
M09_X:&$S[ P>PNYY^547'6.#-9;GGOBNT_6*9OB[@9]ZX(&]/1O%$U5V>7]X
M!%NV-^).PBA*.(*A&AC[H"@L 'OU6,V9NOF^G\&?QMO]Q\N+D69P#J\OWW@2
M7<G<R/^ KI+?%P47@$!>49FB09EQ-(N'N0="/__SX2?@ATE5A.#A\#J7L:<>
M7_UCX?[B]R[KWX6OY:OO9/:G'02EZZU5V= K7-5B#\7Z*.NI,WE>>$KQA)-'
M!N=G4ZR1_\TU++#7T>#'0W\\%_U6OMLO;A=6[WY05'/HGO@AX)/HRZWME:^9
MHHC\Y!/1Y?U]U@\JY2"4C"CWDHHVN&!895PQ4"@,,!_5L2A)<B'O?1F9<G@P
M.@-C"A1\N ,(CFY^?;N*NK4V;#RS8BLC8*VE1*'</4O?3\]G@A:6R8=._N?C
M'I_$X9@D,6$IY53#OQ+.$\NXL93I-%VEU=TRCP_!J5+2.&(22@7A$@L32T<2
M:HQ!UN[.XR-&HOGQW2]7[]Z^NSB_NHE>__[QW=7EQX_>[7-Q>77SX?SFW?55
MX0GZ\.[C_]/< ;1\X@VHU28'T/*Q-IC@[AQ O\E_ VI?P#/[L*9/<O\LGU0#
M2K3)_;-\K TFN"7WSW50J3Y;&$OAL(#]L_-YI#5(T*! $<AMY+>W^^#^&+'
M2?&3V[Y2#["91SH+U>[R4#K*ZS1!O^G*#-2ZD2_(OT.'M"+ISTIL\"[9@=<D
M0?$P\&CX.O;+/!))5%0%O':!+<=<.97.9C@E0B>IIM0YHE*F<*JQ2C'AS)FE
MP4%_S&T.KQ]>VYZ^]4K8^==._L='V?7A[8%V5W;P6]"'ZFZ[>;BWX8[10.=^
M4]P[?2S&%S4EBJ?.Q4YSJ_W9V)=^9G+;>S3^:BG5F#6$II@! ZH0"T!<3.#_
MXC36UM7& DSO< =+M:M^S5GBS(4(F/B3+X13#FAD[-B@QD=W?1"? =@Q47S&
M7GJ6]O;*5,FZL:2!1NQ)YMV2A?;L927WI/'BX^][RC(2IV*CF<96I911)A.>
MP-L44Y0FFBPOB+6'9?QC>C;AEK< /M.7VR(H0# 72RX4%2E%-%%Q"H(C2)*F
M7 C+V@@ONZ>P@Z>O(%9AC_ [R&@,WB8'J]L&T>KZ,X0@5H]'*\S-NFP9*S]Y
MY7&\<CPQB%'D9*(PE8D44M@XX3(EC'.![:'+QA\?O",E_.0W^;5S-[RK6]%-
M=KM]63'WO8*P"/"LU+>%?Z2?V[+XXZA\YJUWT'P![:,?_#7*=CMP9S#DNUY=
M\&#:LZ5W);<55OG2'W;-Z#S()Q=T7$>#R1OUK#^N@LO39T.3DZB3\H5U+\OA
M@B_76?/"'&C:'<B>[0_S[H-'\&J%TGRH? W10>%9,L."4V'V!;A_LCW_>J",
M+Z5Y:^_\@1F,?V#O[OL9*$/P1!F*H5<'6SFRVJ9>6GMTM.RF56K3-M!+HT8'
M2ELO@KV!$MB'4 !;+"R O;GRUZTL?OVTTM<[+WR]H.SUXR6NGP(1M<>CRV[:
MRO%HG3#,1#<6/HN/P_M[ 'COLWC\[&@#Y*D]C%QVTU8.(Q\CSUC.:TX(MTZB
MVF/"93>M=+ZV%1+]TT;WPTS?^K(GL/W[8RK3@<_>7LODEW$$2EYX0WJ 6K"%
MKV!:C-FR&DX+<T\1Z*5$,IH(*D%!3;&P"=98VH:ZZ5C)'+UQD9+Y<72&]HOM
M?\KD_:V/!@IW_OYQ6GL4J]D#-;U2:D)V064J*3$Y[_J]YRM^1V%$Q0E@.#\"
M=18N-*<O4I)J9UB< )\)BCD3RL3.<F%THN.]T?>JW_N]UO!J3&@\3^>IK6-4
M.3WX+ZH^MW>]4D?MGJSEAJ@C-[?<$F,$$#FAJ1*"&B:MQ0S',>5J^7G)<E/K
MO/# Y._E@]\O5S"UEJ[2K<SL:Q!W\TN_;WQ,,*P.:.?=_H.U'VWVN:-M?N,/
MT J*O'X8/3$\_L;VINFQT65%->(SLIXG8E2ZI8)3:A6Y6=."UA0D)XT5U<10
M!\B$$F<9H5*)!!NZ"2?A82[KE%&-5S>JV7RR^]A]V.F! 3WH9P_C;:@,. 3;
M]5::ID@H8^$T37""4D!")25U1!%D$JU<8NK\5X>_AM<].[6&3Y#,.4\7C&/Q
MQ@:+. 6^P?/[Y;8_Y>::>(]1/%[]\9J/NF3L[I!*-#J>CK\I71;%C8BTNT/\
MB\R:SB#R,K15.C0ZG4>'=#R/&IW/H]4/Z->:]YNA'37:*0Y8)SUQ)HY*W;^[
MSSKY*'!N?&JE %!\VZ,*R :?IRZ8!6[YLPB& VRZ+WL!C6_.K+:=SQ[0B^/B
MLCG/68C@&O3OGW1NY:16E@+]! 5RIL*WZ'984$Y4(C2I22=LO"M]&,]C.^[Y
MFR_]=IY<(85 ?2-84N)H$C/!$'$()9PS0PRO2]E<]^3J6=!X\&65$^&)M,D@
M0^,F5P2%N$A2*&O%&6]UN]^()FY0*I74CL=24QD;D4A."9BS+"76FIH.J(<M
M+TU/K7C=J558F,TL0QQKXQ+&4(JICIU*9:Q5K&+GN!-U<8&'+5*-.^7&M>L
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
MF'P-])]Q5,S68:CE^I K;.3 !B8O%[5D<SKBWOHL(AQNJ<DM:K20'^R=[/1
M,9ZLZ.0W\VNKG).IM;%D!E%&J+"Q2#@6(K'"84,6^9[VNH8[H M*;.PD3KAD
M,64)EJF3C".2L%0:PVMJ\.+]TZ6.MQ<R^PR79X$^(7='=KHA>0+>-84NP1H:
M>*BN0-!9K<(Z5K6VJ[HV2JK&^TVJ7O]M5:HVIU6C!%(L9FBUVIY;S14/B<8S
MJ>*)WSUWO0?7*@*U9LLCN_5]UNE&")U,W&[A+"^H*[#W@G(B/V4VE/L*;HX"
M^0=?^L4'[V3H#(9^Z62W<(?<@K5BLWR4$S>J3C&]LZ^%>";X@09>B9IW4U4Q
M+G6.*:N$3@25$G/B$JJ1XCBA%+F:<A"^_V#IC?*?-H-V#5U1A(D35M/L80K7
M2H<3T-:7-*KNW"?>Z^3/'H9VV49[$6X+1'XOL^OLX\!G\H9Z:T#9,-%J72)I
M<<Q<S) 55+G$-]&P<1QKD#+&>5USVLW1<JKH&EV9EO$9+$--VBRHX-Z&ZGSV
MBDT0B.(O9Y$O4#7F3OB%MJL4>0H3>>]_765#PDP<RQ@S;:F.G9)"2,9 'Z).
M.E'7J7Q+!'MBFQ%?::3@N+!U2I#A 4CY\FSNU>1WML ?*"AQJJAQ2<JI-)8;
M9346TJ7>,U_;X7T;XML\3WL^U'E*=DL]I> UW>V/3DT\2DZ@T9<]Z_\9W7<E
ML&!_A- >FPN$]KIU6>JL=#[[A/U\J'+[GR&@-!B8VI>&Z7:M.8N -WUIM/[,
M2PJSK'P 7(;_>-@WA5D&M@W(!SSHD> B6$(?]2$_V6M7P9/KX2 ?P!!A:M6
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
MCO3A8OLGG09\Q">_N_BOE-1JI5SUQ7^UI-6N2/QK/D)H\BWBWJ>#0D1L[6G
M16@EH*MMDY6P!AJX$YR7+PI*4DOP0ML6+U::7H2!?:GA!9]N4,3M5+$@5Q5B
MQW$8FZ"LUFLE'Q3*U?I5"4!!\]4&+>O.AHC7B:L) ;^L,*VVO9#?@W5/,KU<
M#LV 99DNY?_,R/F<MV/'<3 S0$/?(=$WD*9@:K64=:Y>)Z%))^XR;^::PUF@
M\3]:NBT1U+@5B4R_3W9_<)ZYX:]JJPWV\%_V5?N<Y6/'<41Q#F1:#5@_XTZ^
M4)/_[TWB>@T42)&@>DCQ+V7Z5ZH$Z6-!Y(4T3A1'7[82\W">O8?SU X?SB,)
MSDD\RNW"?7:.[<G#>?@[>1Q-!D6TKY5K)5++I5IYQEWT) *!]A\<^[PUF5K.
M@C'E1F2^KLKAQI/+>+ LS]S=1O*FI]QO[;:7"NHWZ?Q^"734^7$E6J[?Y_I]
M2OI]+0 1[7V 2  @J[CQ@MV&#X$>M;0N_:08DJ-'CA[!<1Q"]:A3,&%9JGI4
MWQ-J$"R$ ,'O[#K N.AP(WM:K2L#-GMA+-9[B#CJ=]UF,Z6IN^YK58IT0H6D
M6)& "?Z:JF)-.2+DB+ ;(I0#1+A\'XC0PV9LYPW+L26JQ%?;W!]0E-,$"BDJ
M;*\\Y$"1 T6Z0%$)@**6 \5N0%')@2('BHP#Q88H0P",>@ 8]6P#1M-EQCHT
MN*0+NW(R'#PJ]X[[I-M*<ZQ[3+G6[>\%Y:'8D.4FX':E'DJX@\41#R7,&?]@
M"SQ]QJ]<7=9JQ/B8GE:K5"J<\8&$?<Z_.AG.7Q\V4*[@7]BW^9EMOF,H[2-N
M0'*.KTL3U'P6S7DQ[06>.B\F71,$8;UJYN-ZFXY!]^S7<\^D+N)-QS;FPQGG
MC-G8'&Y.!-1Y)T!4:5$H7CMXKX"Y14&QWFB&'O>ZUV48D$+DL%0&[S&:. \=
M^DE"A^IYZ% >.A2\DX<.'5VLLQ&HQV DEU DEU5?)'\LJUF7R;WYP#,-4Z=,
MW/7"-S<<#[; 8U!U):3J[)>K<6Q/)(Z^JC1K3N.'6^ 1:+P2(G<E\\@=9D2C
M_2#LH>;89",P,,#@(#](!RN/ I"C-?'H,H!ZY(-80Q8L-*I6]'-5.],_8%50
MM6J(%V_KSG)"/)1R?;ZLE2-(E7?*(>^4WQ?O/$;80:TK7XN]8K.(),_;%%6J
M):+OAG ]1+_N?^FJ=.E7[^WI[D"WF7?>^6&QA<\EL).)O2'? 6>\3RGR42VI
MQ?9#4N',#!#Z7]?=.^H)1=7?;YSA'&^_<D),?R'[)\1>\TO&";&O_W!L9[(
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
MJ/:'W:CW8;32I%_]B=3"^G_K-U!+ P04    " "L@G987F+ZI5L#  ! "0
M%0   &5F,C P,34S,#!?97@R,RTQ+FAT;<5668_3,!!^1^(_#%F)!:E)TZ1=
MMJ=4]A 5W4-M17EU$B<Q.';E.%N*^/%,KJ7=;@6%!_S0SO@8SS?SS3B#6"=\
M]/(%P""F)"@DE#73G(X&S?*_FGQEFC!E/A4I#4#+'KQ7D@2*!1&%:R:(\!GA
M,)<\TTR*M $3X5OEV6)<2C]+J-#@*THTVLA2)J)M*_>SNY!Q"D[;<JV6U7&<
M]M;Y"[G:*!;%&EK=;@=,<&RGO7W<-$LDS0K*P)/!!KS(EURJH7$2%L. 5&\X
M'1JA%-H,2<+XI@>G"Y;0%&[I&F8R(>*T#\5ZRK[3'K3LE>Z#IM^T23B+1 \X
M#7&FL-R#$[L8?:.*I (ATY@$>$DE&%"<&QH8/DW5HP\QS0'UH+WZMF<-/.)_
MC93,1& ^7=IVI339AX2HB DS]ZP')-/R<4J5EY1SGE0!15M""EI['+"'.LLH
M[@1H77GH21[LWEM810M7GS],WD\6X&#.!LU=4Z/7)ZTSN[\W/6!)!*GRAP9+
M2$1S4([U9149(]C?ZZE:;3[OZ'/1.#J[^VB-T07R.&>L#)', 5U1_$%U1B.6
MXBW(X?O,X\R'L>]CGG3.YVNFDG_$\"5+-0LWQX,P1DL*,3KF;9!-I>]:@HXI
M,.%+M9**Y,4)N*YHB!N%GR\5.TI4U8:YQA(MJA65:ZD2F)OG<"LM&.27[E!D
M+XJ_]3@_W .F$:^/3KNN:[:ZMGO>Q?#D.T88\ 416+U3;!4("*Z)KZ7:E$TE
MSX?,%$) 0!J"HIO<$.7'X#B-HB\T<)&3(B%5 /)X2,[*S>%COTIKH-BPUC%#
M$V2UHD2546%I";YEFQ^MH\B]9H&.AX;3<8VJY(:&;4!9\$/#[1A/^.\>XC\<
M)L^H;H\[2J4VTR8LK\:?KF8POKV$Q>1R>36=-F!J3:W['3!/#&_+OZ[.)^^^
M<A)C)N&":<Q%K?YI8'93=!30OUW;#M!SI58WL24E#T@SY!PL6+"FG!\(U&_L
M0+O;A25--<R1ML@V >,'*C+:@'G&=/ZV=6SX 4\C^1'>N2W;.>ZR&\)0:]L=
MJ]-M6UW'MH\Y7[\W*O+>G+4:R/'S!IR?O3W0"N_':<&C\>6GR?QN-D<0);NL
MB[N;@_S9<><O'D;GOSV,6SAJ:=#,OR@*H?IN^@E02P,$%     @ K()V6!B
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
M=A?T+N)CL,O,;*X;!E?SDVW[><[!-9N4V<;2?ZHA_X4 /2S\-U!+ P04
M" "L@G98+A\EV'X0  "O$0  #@   &EM86=E,# P,#(N:G!GG9=G5--+M\;_
M0$( SZ'W%GIO"@@BA-Y$!*2#@(* = &1T$647@2E*D7I2 LD(%WI17H/""04
MD9HHP5"$%\]ZSWN_W+ON/?>9]<R7O=>L^>U9LV?-^=SY"D![0T=?!R A(0'N
M7@S@? '0!,A!8'(PB)P<3 Z!D%-0T5)145)2,5+3_$'+PLC*RL+(S,S.)0AE
MY^#G9&;FD>#A%Q(6%1-E@TK*2(K("(J(BOQ>A 0"@5!14#%043&(L#.SB_QC
MG7\$Z"B V\ N&0D?0$I'0D9'<MX-0 & !$SREX!_BX24[&*_$ I*JDL7"2A:
M@)2$C(P41 8&@T 7T;"+. "B ]/S7E8G9S"Y!^'S9;P2F?J6@E\#\8GI]CA.
M0-;1[RDE%3,+*QN[H)"PB*B8G/Q5!<5K2II:VCJZ>OHW3,W,+2RMK&V<[CN[
MN#YP<_=_%/ X$!X4'/7L>71,;%Q\VLM7Z1F96=DY[PJ+BDM*R\HKZNJ1J(;&
M#TW-G5W=/;U]_0.#$Y-3TS.S<_-H#'9U;7WCZ^:W+?SW'P>$PY_$H^/?7"0
M&<G?^F^YZ"ZX2$$@,A#D-Q<):>#O!#H0F/<R.;VZ">2>+P/?E4@*1HW4MXA/
ME/RRMW%,CG[C5,P"<AA!_&^TO\C^;V!/_U]D_P'[+RXT\ <9R<7AD=$!JL!Q
M2;Q( >G_ZN)R]P8;E]%&P[68DZ)RGC,><RCQQH'1T3E@=(+IZ'P[]<SNM9;2
MBX3Z!POO$!@\+$6NG#-P/-,?25IY[3C5EG%5<0@3R.G*%BJ%T68T9V0TT0;^
MB2VF/.].>:XUM*CA%4_5"=R$-7O!,==QJ4.8_9<1ITQ.NLVP[?F*AD(GGS*T
M"FKQ'M:7F.*[?V<N4:FR=<13A\O"WO6Y9=C*,@O8##%]?R44,=)76A^1Y _[
MSRJC>^M]?^Z$;7.WEMV"!QWEW1165CX=#0?1I?;+6;XBNO8TLEO,234:N8Z1
MAM\_CG@>;/^Z#+WU&.LAFJ&]!S$_Y$<%'_C25B 7#T6PO-9N3=[Q(E7#G7_7
MK]WH5P4AA1E^O0_M4OR.&&6)FI1>L;2%5Z]9/4/0LGI!6/GO\7.NS<XPK4)1
MF=$1C>V,B_;=KZL?Q5GLACT.FX6FCIZ2/U'1[ JNY!;$5>=6V")HW9GC9$2Z
MF9::>+@+$L_2O\=\JHFU67J)GS_@\NA&)]<4&?K#<I("'GTO6>D;>LA*$%0;
M/=%I/*,]O<DNO3->H_=]U7B<;5<R4GG#VU$U2C:<TAXL'"V?1-/)3I-LGNW8
MTI'*X^F70@=V@.U H7OLP,D"=CDN D-']*_Q$#L1CI[/('L33F@W.P?Z8E6?
M!T%VLB-JMFR@L<J&V+8(T];:Q 2X]N[D #N(8RWT,O];D_PJ?P>4<#=%JSKN
MQZ>,8/]SH-]%?FI#:P= LYR=2!*+@X5J"O174N8MSH&;D8_M^HHR/HA_^B'
M,W#DS8\KH('BA;M]N$^=\45HEB?.38B)5X@DGI<#0C*^&X8\:V1]0Y,O9 Q=
MB.\[EYG"J;M\:AK:Y#+:'0L'O. _="J#)6)72&G&XGN(+!AI;OA3%9MMS!Z*
M.6,L"]L\/*0Q0HWM"+BE2][&84M4Q]?833I/$E(8T4OS!DDXPS*]P;EK;!PJ
M:@4T<.+UU37\.=!U$N:+I;/7;>;X8/JBKNRK#P)$1^AS/RKIZSX'Z&$*</2^
MT7A .5+EFF9_:E&:)N.#(J"R_\IH__;^1-ODX2,<.0(WVXENRX\3JOLB/XLV
MKUJ7B(\$!-+(E2PYL/OH*/7QO0T$+B]!J(3?\1WFC?HE3H(QB4 XF1S)QI)(
M._$U3KH[V,F=6R#LULPF&_/5IB!,EBA'>OJ1:?]:,*'F[J]"'\)0Q[-CW813
MT0KW8.M8;>5O;GYX[VAG:(@;&[HG0M9!X=3E B2N-4(J/0AK*"BW8*7U='0H
M<OP.5TN[B^I5F3;Q756:!S-GO$2%$C>6"O:E$^UXR*C76&1^V3;1&*)P<IDX
M&,$:>B42)5XNA3*$N: ^9%A*[9_J?382%E,;153S'[;ASTHQZV-(51IWR^"P
MG9[J/0%D=F%8U+KVX(^G@9P1=>*QO]+E/5(H0FUFE'DK&#CL*24'&9Y(\0JD
M# >>I1MKGP.70@X+7ZJV3WA)^46T'(:$JPK=.P=2QB M5L3D54S@QP1)IY[&
MP)R\FC6)Q$939)J!<FNE;;(>P E5*VF%:**(]?C>C?W;C=/%J$G^%P5"F*K=
MU.8=[3L9/$YOH/[V,2<^HV)$_\[#+;W(O9+'7 EB(@[C.1]&HY=ISJ3MX<(&
M+;C,^'MUX]ZT0Z!+X?B=(<YU#5IJ_QQ@N!&OVVT4:2^'JL5+KOT\]BS0F_E^
MA^UMGL0*TG/Q/4U77B'3@5'?*.T=39R"R<SI]0A?]^]]7O)MP\AH!8KOPKR1
M_?VJ5?"8N'90J U><Z$C%O7E^FV/AUHZ&\>Z(M2RB:6A-(-MTJO,J8$%X8.[
M15N2'/;6-O,+@TZ.@];.B0_U.(TAD42'W@CZUK"2!:*PQE0 Q_LXP9"$A-)F
M)WYA3N6B=:<[CT8%SI@.SH&=;4P',]SG4R,M?.9XPZ.TR8</[18ZZ<..[[J?
MQKJVJDC&7=)$,]=QHSX*<UA8H4OUJWWCZ&V:T]0[L5V'$JO\WO9G!53HI%?L
M26\R9A]P"W,>7S17>VVL'7D8_;[3^N[BV=Z=@$,886?Z<ZC6S$$N2]<DK [T
M3LV"E>1H+7SNH*_&?:/[WK3SAA^V3*<H*"^)V\1"PL=;PI7!YB9>[WIYST/=
M7A9K15045Y-<1*=#P#D &PMW:5V/JD3IQK^\M?G3D*.O52(8"5ORU#Q*P9V^
MKY\D&$AJ*U@O]DF'%9QV;2G-#D%QF5\B1I'0["I#&G,\=96B';^>1PQD7ZOJ
M^7&CNAUR24A)_\Y><4(%TOWKY('E:[AW%Y;"3"'0@CDUPL]%MO';F?SF5=$
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
MXHQP8*?FXG=A5M;\X0JNN3G"Q)55V@VD\5$"VB51P;LPD)[6\ZL<(4>%UJQ
MI8^_#_2J,<7O?)1BB:Z BQ/TQ'[?)XI2G7)<$S:&Y5>>W8_0_ 8I'B22P"DI
MF7%]>Q$B8NM"P1$7\=L?T0T'LYOJ[0Y6J.)9/4;)LWRK;NN'^E:S1EVWZ"=1
M1527I+G+=F[8"3B[A64K9"!^FMLZ\]=/Q/JI\'J^#U;Z8L9*::%ED5<IY^NK
M/CW#SEM]WU0VJ=_*TFO4*87U>]D\#)[<LG#6Y3>:D9S<573OD\R3VQE.B+=0
MN2,>XK<^%!$OO -?/0&@'18OT,']A1#<](]<HK!*#+J[L#66 -;.\I0XM8+K
M5,8?"%(*HM4ZQ&?/VTZ/?3(^L\#5[+$T'W_WSB</Z25+QA- F)8RUU/(.[G;
M/JY3K7$USIBPM_9*=YA33ZB"TH\/1K=WAR/:@[E[X=\0'H2*!,DDC:-J_+$D
M^FNTW,;!_0='<OZ18H)"9%) S9"W_D6"HUAF^:+D_'[SJT693MS0JC[%K"@Q
M$KZ7TZP&:YSX(M'XSBIL38_;'&S1"81,VBC5D-.D3*9W.D_O;024534J8G%2
MV@BPJ0@]%JE5P)+:%RUYW&_JX*"!F'WMTI8R-'G^PS?PS4\G )N?IO<!P"S!
MR;YU1Q7-M]2\@)C:?9.<9W++"GG,AJH*:0O(<,C/9,C*S9CB&2*$<UO88TX
M@GW-?GQHJOSA<RU18VQ0<1KR0TYS;X*J2?Y[N[&7D.QMI%_GU'SA\U*9]E)D
M,X*=4EL4)/-L)3+^X.L+3UNG3SF@IV"]J)?2GJZ/3M5N]%_(I$V8U#\PX:9%
M'Z^;:8:*:X#Y85EJL S!LSK-3K/K'(L+,QE'9^IQ5-W$/^"'E678<?540,']
M48;J^O+B++QWL72+9'2]M;Z?[QLO,#@[SBRDOK#^\M6J<+H&'TEK%?^#WT_+
M^3'I, :\3@Q,@?NR71Y.(C,EJN8$OY^76I&/*]A.CPKNBY;!4CZ=]XY #0_G
MSQZ_]_?WX0R3R4:=!U^Q2K#1E#XE/Y1/>%?$7XN-BN@]&$G/?WEK.%#^Z7A,
M@_IX&,:8X>K':YEU4AK$X+@1('!M@6X:JRLFS,&SX.![@-"+>.GK>DP3*_6=
M6[F]W0[XR&;;'_3C75AI6C^;=(TV[YGY"BG <J_A="+XA5FJ&-@61?]$-?$W
ME_<I,^)=/$.X%?JZ+U:4O+\JDK(4>9-J^K:+>\K%C'JJ?L]TTC#SQ:'ZN)N#
MMOD-IE5()W"GD(N*K"&_X40W.E P2?O7L3T?[3_[*2\9,,@)/2^Q>-_:KJ::
M(&HK;?N2QM&;A78QZN"?*;K]I@N7;=GQ[+K[,Q?A>&4OD+XH[7WX*H(!E1?0
M6;S10G0:'U6"M\]AKAX-U,G-9DYZZ4LANJ8^7WIE][YJWO?#_.7]Z<HL,R P
M#QZY*1WQY0,DKHC'UWX_O</V]2!IQ*B/'3IRP:3%%)S+=\/2<] -:_RH('N
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
ME7:YW4;ZW_@&]^^Y5/+];A2"W2QMZ(DAM.ZY=(G>(0CM/3LN<ST4^0.WO55
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
M]8A?RJ5_;=0^/] H*$Z3S6J523L):="4_ O:E>5\CTU,JNGYX2@7=)3B(Z4
M3.A@XN/Q3VQ ^H+8K\7H=(IZ+M/X+8V*M)[+OW(5#2$MW*(FG<+.<]_?K%A-
MH> 2T?3HY\,;^O<(92B+@_,5;;7#/[/O4@/:<=NSV#+R>Q,[75B!X(('<V$C
M,E6ZL'CM3X<BN-_5@_O$O>C^1'#2;H-@Q+H(+XC=QYV1N49HTDDN,'*F:0"F
M;0,-LKVD$51+*)SPBQ.M8*[T;$.((,6+?FOTT*K?I@EQM/;"X.IU33O\2&R"
MDJ8*:"'-U)!L*XMAU@@@61#FR!1* ,;E./7*QJ9L,$?_QP+GV8O84.\\G7F$
M;,/XZ7<OVJ!6/1OQ%)X"\CB( QMKU;@ 2G2J ]^<N4=4Z<>HC0LE3>$9"8V#
M]0ZQ1EW/$@E%O?[5B7JE75*\H>C;*4B;34D+!2#=#2P4I Y6MH%MZCI7"RJJ
M_B].5'TUQ\J/P44_50%<_\G!JE3HK@O7.J-3'<<YFVA4]1[E!(7I(@('*T]K
MA[H*1>RBH;)SPR!#D[-,(S3SO1MXS1<*XB? Q"Z(MD2QFM:E&C4Q2U+#&A%
M8(^>H;[BV-<E*9Z&SU-U&J=J%F"&K$;%K$YU"R0;2OA.@IZP<(:*T*6*!1LD
MJ5T5OU.=_N9N"'[O6:NBH>2%=_3D$]LL[D+)"7B[)IV*HT,,LD%!T\U99JE]
MXL=N<)[=( [",UT$*VH,VYG<"&Q>?#' @XAU:OA0#DIOO2T;D3X0+Y!,X0(H
M6T-\(:7#F ":!T."7)A3G;/Z/H'2EJT8 !!2P3X+GM15"!@8"," 6II3C7YS
M-*&! 8Q8."K;'R@8&0D @TY> 8=?G8!#OMDZ3UUB#"@H"I\(*5RM;;TY@"H6
M"@$.WR9RA;K+C@$=7YE?A)*9ET02G5KUU YYM(,<5X8UM2U%62=4L"OW!B=L
M##I?4/#RW3T;;G[[&(Q[NGA01T W-S3"0QP0Q@4X-2/T0&A[MB';S#:J^@K'
MHFT!.K*RT9"2N0H/H&$ ',@EB1;[I]O0EZN6:2G< "+YN=SKP?WL:LUJ# '4
M*"^AJ,F?G0C=\R (F?I>=.N%P>=XYJW#U(O:S8":JDSW,BI7:Q=F%B1]RP0Y
M-<J_8\>B8A1<>22F@Y"DL=MX$?IANX,/9RA<!6%P%0S&Q@)P 9$)7)=U=7"@
M[0@;#PY$$IV:*&$I/4RS(V_9,;>8#>E1[/.SZ@#*6I,HI=P/),"--8:$4K13
M76'A?)]TP1M(K9I/=6,1W 0G9D8;8T4KWJF5%VY)N&8B8$5=3"U;5F]3[P=>
MS(PVQHM6?#DQY<;,E&0.6;ZG!DJOGJO?OS1C:K@Q<  %.#6AWUZ#5F_#4A+6
M]V))"/<$)%!3S=&AD%QFE+=.X*)"[C4FWVC+2=B8A>;!6YQD@UHY4"PX6UME
M0)S[ 25[9U@OGX"*TDQ!_';:]NH-_?<X=V 871TRS4"OK48Y T__%6W8%7ZW
M[#@VA6*:DO!QDV8;/3#S/QVD4(.I.D^?XQ01E+2C9R#INP%EO](G:[(D:R$4
M^Q3-<;Y^Z&\?B!<G[,:S[)1\]J\B203_WB1I<=Y7M,8U;"'UIG* 0J;+C4/!
M%X]4(XVLV[,Q50=@ ".<FE*F:NVL:L65\+?"^:W?)CVP6AR_OD Q6G!3X!JJ
M]J'5-M5TX2GV/H9:U(B.AJS&P=6V#+>N':D%'/5)/FVXH6&ZZVM<H 4-Q=HY
MW*O7E'C4BC#VR/8S]6H":LM'**D!M8%*FB2%X!B7(^E<Z0)4[72BHRM3BYQN
MLBX,U$88<;U+ ;9VU-RCM0 ;VMI,1S*FJME5B'6J^2PCKZ&CZ+2UFJQ*#3(R
MQZ$ M \. KE !^\\&J/MP/#\V?#R@+JQ>M+'J6.3[M+.KH*B/;$^=<<WN_WK
MEF"^LROXI5"^\<LT>U>>4;Q!)0H)'2W](TR7,SH\HLXD5Z_%((V=J*3_!?PP
MOX.$:G>+A83I\HJH-G$??FADB%HI^8X7"^E.Q3J[]GN^^(1QD$W YH\K)/<X
M"EJ TA-64W%R0N?@ ;9*A0*5$.@0<4Q?J+(W5N7%AA,$4I@S&MQ.0;U2F-47
MJZFB]94V;C*Z=A/'TSE;MU#;(#6MD.4BZD?J>.J[1F-V.87:.'@%D&;^;HRI
M)L@<X$!Z.#A,&W"]0S53/O0R1:MLC>-=62W>O9@QT96HK;LY[Z@W2>A3+8N[
M.YL?:I2WB(28;39C)WW0)<K_7]4>[2 OO?@)L0>M\O>=VKW.20JO7=(Z9N%3
M=(KRLN>+NC[SN)/EK2H<L(2BG@8I8<+4.PWF\1A5U<SOHQK*TO\@!CIU,3&[
M7I4JF#T;1QN?B^VWA&WVK?J!Y^Q10=&52.:,N\5M,./!+-J/W#<VK1F37A9<
MO+P#Y<;ZTF[_2/* RP<U44/C!VP7'4.(KLZ1]BEZHHT'K23,7_O,[R  L^RV
M @!8)KQ <0B(8"M7-2]D[%&O8B0,T$=T%F#2K3$MG<O;K?E0!]%*,=F@_1[
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
M V.-<*_@)3/0%C U>4Z="[-#=DEQA[B]#?T)[)3?F@+W"GI='39H3FN6V^<
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
M\K>"<AJ ,%?6 1!*YMC!K\N<<75R)AZFN(Q>Q+_@ 4)/6!V=5!!. PW&JCJ
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
MFBIC!:89BULI&P2HF79JRS=Y%UDN,$_LH:%\XU'$5TGT+&8^U:.:4K+F.YH
MV02L;JBCK>'E;+$[>B59^<Z5TO @3<OJ+9H)F5REG:N]6SRQ$W6!V4ER_M^
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
MLM6__@(@R.2"E0 )2/:'[K*2[T;B>5[LP+_^GZ_;%#S!O$A0]F\_O/O#SS\
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
M510<TO[*/3;QA3ODT$3#+#!OT[.',MXC]K+=1Y8HYOFQA6[/I@RO'=&H_1>
M7W<P*SQ/;G*+ <D_7Q>3G7=J 5%:BC,EV2><]Y,BR1[.JF\]R*\B@2:U#@6L
MLZK(IWU"Y5B6Y]*!0M3Z+0R 2LH(Z7S5?@+MRW5SI[*XYP;N"2K*XAJER?IY
M!;^6Q]CA[V(4RZ2'D.9+N\.W+!J'8!>XT40^5[M-@V#@+RU</A<T\# D!D])
MP!(M!,U#F7HAVSG*3]DRMN%J&<%:PS&Z-9W,=&W)-2925TN^#'U+^6=D*UK(
M5REZ9N@H]"#+0NVQU\1$A\OAPM?IPI)1GITAF"TG:58V'@2.0!?;)SG$W3=P
M0:>0F?:W!&_)&I)Y,.YSY4AKS.KJOK_2I5]G:0G7E91"V);66K$X6?FH="7E
MK%PYZJP_0O<@.:SXBJD(> ._KM,]/<[F :'-ER1-?_1,3ST<(-/2ZG%/JM,A
MFT^HN:TRM%R-QUM=*?1 -UAF^+KP)4OPCD#F,87?P*+,DW4)-[<E[@I]I'MB
M>E"6RM0'BO!E+,DC]6Q+%Y%Q&4'X.M'A9T!_!Y^K)[Z/BY 6'-+\SKVS(GBB
M;:CK(6&>]@EAUW*[BY.<S)Z=/,;Y RP6=SC >#WH4VL)U^T3A;!MI:$5BW5]
MH?(BK2KDRM'A$:DC4I0]O$WIJG36,/E<BWKFB&:Q(]/"Z=444IU.36&&K%EX
M=%O&)=VP?'5_GF2X8Y+$Z34JZ*R=@$TF*NQ3Z:E8,LLD+EM^:?J2L4S+1'2"
ML@T9^]\ _*\"I<F&+B<YCE/:3;]]A"$QS@@::%S1==FGH]GFX"@DSL+$LSC/
M<%^NN(;Y+<X,\#@NDG4/ZE(9]F$$,I;DDGIVTIL6>9!QB*\3T?^ -TD&-BA-
MX[P .]R0*8B$YQZRO "1YO?N4H KVL;\C(APVNF5>C"&!>OBUL\ ?@CHTR-
MG[]D8$@ZLN/0X;';>KQ/4C*HQ>VO\A^R-^X_M 0XWY<MJ =694#N"4?UWX%T
M0@6E@53?L(O0KDP;FHH"G06.)W'QN,@VY#]DK>93G)(SPQ?E29SGSSBVO\3I
MOH\@(QWV,31U+#%M%)F3:EW7HXP&>C8B\IRNEEZ3?\"#I%^6F*$!C2RL+J>T
M5-M4"PA^3ML01AZM,<C:& T0Z3]:XD?DT*): U"5UXQ-2;-D&H!Z;+;PXY,O
MEC/2D=83KA?.&44V#4?-%M'IV7A9583&\KHQ")(R4++4;ASR9B'?,L/M$%B4
M9)?!)>P/6 J>-A?D])Y:4D?@S98D0[,R.O2EH_H'L,._@,T^)Q50^0C)R$B"
M/)]H*BH@I/RJ_4MN.D)M\*I*>2:8KG,8%_ 45O]=9L.E/P/LZJLT@-91L4:Y
M?ER.MF%KNI330L.$^*1*WRPQ@ (:5U1]/JDUNR0+!'E.NQ F#FW!QSH0M2AX
M4PO_")(,<-9LOEY(2CH/4^#28]=A&-XR>\)M*Y0G<'COGX:LL"+HR#KG(2>2
MR5)_UY<9[=JZ4?V'YV.!]<I52B$Q$(2T::G(^3(;<";.W!Q/H[$CS]4MP=>$
M+*.L/ 9>0>7AZQR2_A)_PZZNN# ;]\6=\XH?SV0Y>>#.C%H]]8C]7>_\#8Y&
M@M*6,DF*$"&/NEIR*LT,JHGS-=^9#:[D6;O&W%D(N\VG@)Q1_AZ/NZ"R^-4.
MYG%)=@A7QX\(UC6:*PHSNUC1.1U5,3K:<&ODV(R?0D/1R2.Y3J<@Q$2U4+W(
MF SBITE\EZ1)B9L-OX5&525VI*351)Z0N2)].8<#@.W$]8G*K1ODRNN81@O4
M)R:%LGQW+A0;54)NH1Q4Q52/0EW'ST9#_SUYY;A_(S_9T&LO(B<KAW2\C1MO
MK?4/(_V[ZI>PA_G[Q:XUH,K'BG(@E:GIC:+.AJ^9QO5[WJQ ICFBSZ1?(_1&
M#>2/P5]HN3W?P\W%H8FJD]X%*K(,/U"9@H2"N*;+\T.'QBSLFXC8;\V $NU#
M5)=FM'H2 5)0A H5"^5HDG&PIZFDH0\03E\9"!S:(E%9)5"47GP+D#2M&RQQ
MZ7-]*-INDW)+%ZUFFQ.4D<X)S-8XJM.D6*>HV.=0N%!TE'*]8M10V7;IZ*A8
MW>PU,'4M75%J9BPZN?KX<;GZ>':YN@6+RU-P<G6Y6EY^.+L\69[=>EY>.@X^
MR+90>PM.C6QT5IZ&C&"WVQ5&N78'XWH#PT&IVL?05@,'/?"9: *JZGGL:FZ,
MR_8VS 1TS[49RN@I,'33:+'8EX\H3_X.-YRJ2R'9JJ>$D@XHK8C"!77%+E04
M%6E&U4-0D*='U1YVS,E&@.YRKW[UO+5=IZ"148D,6250Z%-(%T5^J+(LBKV:
M)ETI$45J*=?TZ'IW3HW&O!$MF!:?$@E]&# =>@4JHP*W[$4TJ(2E%!"@Q _\
MK_9E4>)&!:[95!S@B(J(T!%US09.',XIT?5AQ(NV*I\<Z" 1,$-XQ2VCB1@>
M(JZT-*2$D:%I;M9P#Q@0/!ZRP]&^;8$_ARS0.@>@+]Y#^S_\_(>??W[_1["+
M<_!$!/X%O/_3T<\__TS^-VP[_0OX]>B?W_]R].?W[V@OY]>C?WKW3T=_>O^G
M7IT2E^ 4KJO3*7YY=P1(:5&%_J_OCP!6V\%UF3S!]/E?P#\?_?+KKT?O__@G
M*O[/1^]__>7HW9]^YM%RK)-@."S>*BX'ZY"KP[W?*CS/Q$G\&;(RIR>]WB3%
M[SKC=OHJ#7=U5*SYK!^7/<>U?,EYKV$BNEU^N%R>+T\6ERMP_.EV>7EV>TM&
MX4[.+E<WB]7RZK(:F+M9WOZ';]88P *-*[8^N]2:7<:-0*$?%AX_K["[Q=>D
M/\&J(2GB7%O2-=6&43AG6,>%$;%:FE'G(2!/ 7D(/I/'WD?[U&4K(XX0"B*^
M'!2D-)$ QP\[+I(,+DNX59)C("CB1DO0-34&,3AG1MN#$3$.BCQ>?":/ 7T>
M&C&&Y2KCA0@%(EHT\E)6B"'CAQ0KSFI+N9"(#"LGZ][DOIV38*6Q>%*@Q 4_
M?10:[E>B]6I:!2W"^ZJ_*$T3$9YPCIV=HFV<].^[U9 4(KXEZ1SV@RC<8[_M
MPHP !TUQTZ@2"(X+P]*5$D($!B$K&@4Y-<30F8D?17EU_P&A#9E=O87Y4[*&
MQ2U*AY,Q*L&&'6)!:W*H8K#GAL2#G!I"Q8@\([="%''J>]V:1BDBD^_=)X%(
MOLL!;8!XIH#D=G0S)24UG-ZH;A;;=)0QN(5=TTCW?G8R$ARW;IH*E5JJ*]Q'
M84E).=&U[R-!. \5JSL>S^$&YG&ZBK^RK=/',(/W27]SLJ9T33Z5M"WK]**Q
MIIO2C91G"NV(/?%,)<V"1<9?OT<>N5*'-8;HF94N*(?)0Z9+%X5TCRY":4=T
M443CBBYB-SIT$6E'[$D8=%$5+(<N>ECHT46@Q*.++GKFI,LR6Z,MU&2+0KA+
M%J&P&ZXH8M':+H#*.)5N%U"YTJ"+2#E:$>]@S6Z WN7H*2G\M]OT"GI('CUH
M=+DCT.%0QP^6W"[<UW(U'E#UPGR&ITH*8+'ZJ"+PADGZ7M7E&&*R=?:.<.9Q
M'7UK;UKOUGH&9;$ ^Q8\ 4O:B'TZ2;M<\S)F<!1ZZ368[;N2XD(Z'[@+\*%<
M&]2SE+S3)"DV;U;\+!FV'AS5R>!E%K\DR9EB(*AD)CAI32TH3&[.CJ12Q^ >
M[9I'I$D4HY-/-S=GERMPL5P<+R^6J^79K>>CSS0*4XI]^=%F8GDY#?S>Y<J"
MH)?-+K+-!7:B.\*GI]/MBZETW#2C]2)SU)!6.M-H2BML1/1Y$*UES4(?-IJ-
MT-)M-LM5.:UG0Y3-1+2BQ$WZ?##7S+T]5%.Z(9="VII66M'8$TKE1DXEN794
M"P#.FH@P;BG5+75D7#1]7DF5NHPR@]8L7#J%=Z5Z2X-"BGT2H90E9Q3>;;DB
M-B_CB$@KNKQ:G=V"Z\7?%L<79W3OP<75Y8>WJ[.;C^#T['CEEQ>JDD3:G[W+
M X%P&_^Z\)@-]\L,-Q?WY."%RWC+7S.G$FLAGR_F /HR_RZP+["O C]7+2)/
MP.'1$2 / UDBIRQ,I/_AA^CG2??AKX41#_@O!'UVA107_86SWKK"NUOL%YK]
M=)%6'_E%, <\JPI1B'I1>7-!7_"ZZ+K(\ !YSMXQL0 7Z$YVBHE]NH6WQKXP
MCD(?U$%L Y,4DQ#*XDU?0SDQ@/UM\>K&<2'8WZ60XJ+XPMG.+H5WMWB^T-S3
M)=(:(OLBE-U<JE(4@EQ4X%RD7_ V<>E"PP/F>=NW)!)<K+O9N"7QZA;C.ENV
M>!K1[?H1;O8I)&OR+U#V\+:$^18,&R@A[.&2E:$0Z9+=6QQ!,<(][MLZA?<P
MS^&&+;C46[-EIM1P0$_)FA8FL3DY^E7;I9Q!6D;"6#AL"  TMGCZG-+1[=(L
M(,PY7<Y@YM(>>&S90RT,F'3 B\&FQJADW<140/6XOJ()L%II;%A/:"GUZPF%
MDBO.:L7FMIY0N=2BJ]Q(&"OF#0' XZ )=/KTD^IRZ1<"YJ:I)[1<V@-O4$]4
MTB^AGI@(HSKUA&.@!E!/F%409C7#U/2<8_^'VI<.%Q4[0#8U"YLM(.#-75"D
M&\&V456! ;4\H6N2K.\@W6OF^?#SNSNH:61T>[R%E,/%%\GIB(JRM\L[NW3B
MF"9OZU\4)U7M9^RDXE.)^13,!A.MPI;12'D?G$Q#RIVYL#1MEC:\[TVM?\C/
M)#%W]JQ\R%'QBO!DDI-'@"J ;-Q9 FW6O#91[65K/55'C#.)T^F(C*9C'3)J
MF0IA^?\H<'#8. )</6+J6. 1-3AL3E([F#AV!=!^[4%UZ#E05.L%M/;G0+5&
MG3,EM .HDW!,BZ* 94%;$\+5FSK"O7I').R(S?)87%%7Z$6'IP+E RE;7828
M"@:TU%.KQ#FTT\)(CV-\'1ZK-$'ED4):U-&BS$14F:0S/7!AS@]9![IB1XB4
MT*>""074T)\(').T?_@NS!'"ZQ%7CX/J#(\%B$9CQ!0E(34PEMD3S+"?9U6&
M' B*LF1+T#49!C$X[:QRW1CQX: 8-?\,#/W#8I0Q0%3H(@(T\E(2S(&0:5/F
MP,TXF,A2YRL#D$D:-4112.FT-;1Y"94=-KZT*+'VI5USAQ_-- W2@2\C O6T
M(_Q_AP9JTS(%;^H9GN= !D]4!2]CDA0K(B9UE:1TFA==TZ9GOB\+B,D2-7[\
MVM!EDJQ'0RRDM*V1JS42]"2\F3P5C\B_-.FJQ@6.0 ;IM2'DUEYVX4&:HB\Q
M!G)@A-%EB7[B55%A*JA,FU?')E-U!B4X^4N#D\7+QXE)"M4 2TC)\FH'R>%&
MV<,%*HJ3.,^?[U'^)<XWRE%6M:8HM<HT7=-(':5S8DE=&E%-8HDVDU']'*18
M()253R8(D1%/&V B*HH-2!EJ ,_0.,M6O(^G;L^ .8,; _,1N1?S-,.(.NX=
M<;LV6.].HLVP;$!WL"9*Z F_RHOA?1]>X^C/!ZEY%FB^[ZADX _IT[8+M=V[
MA;NL3=DH Z(-.NI']>ZI;Y,$)DW3B9GP,IJUG45#XRM*KAGSZK)G9KY4PHU_
M[JJS'X2CC-(U6RTC?245*!]VXS*(#,+F*:1C;60B"8,-OJI7;A!34&)\5=M;
MXOJ=-FZJ7^?<":DJQO^H?V-+<T_0EOR7#@_BB-E*W>+V,<[A<5S 35N W!"K
MJJ8=NA!5X4Y<N$YH#M];)\_AFO(.&5;^;D(TRH(N7.)& UK__O:./ 3KUM/
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
M%GE.%LJ0?Q_5!\V_;GA*ZI*I,.JQ[N#'U:."7(A](Y&0)?WDOFV9)K0N(Y5
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
M+""<PG%TK/]_=7^"MEN4W9:< 5=MA=YHC4S!4<=7'9/CT1FI0YU>KL1 ='A
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
M,<1P@:T!WH])AO*D?*9G#\&"5/==*]7&TFH2=)D]07:5C&!MN,<(#OM YX_
M?G.?KZ_F8)>@A] 5VPUGCZC>./N&W$'^([BC#CK3G,&LW/;)4.0;-YS*P4,@
MO<V9WM/5/)OEJA?*'DY049)YQ;.O.Y@5@[W_2KEZTYQ8SG;CG"H"1^M697ZD
M^^B$>E'S"$#VF^<==<K"1 ;?O;>S3B3>V5TW/TJ,^B+JJ\-E;D:AY-UKA8GH
MIF<KG Q;\LZ 0CH*[UVUPY1>1F&E4F[AA0I4@ZJO"#F=DG")'F;8SZ5:_8,D
M^VMCA +-I5I# >M+M40^=?"_HW=TWI9Q7LI2)M>)_'ZM@4)T'*?^1U(D181T
M/FK_0JV^7/="K1E*VZANK(K[+),>CL3W85;:[UYX<0LJ/M/RMJ_JAC:-ZK<2
ME7%J5MBJFHVG$:V(GVHI3'.^,:0/7V;Y"ZHNT_(?5E3VY4\JP%^<K5X4FC>#
M0*75G#VX*,L\N=N7]5*[ZY@<P?$RH=#YWG9P8*9\[MI8Q5\ODO@N21-RBX1P
M6KJ'QI':O3T=VMJ.EN(;1NMTQX>^;YTU^KK6NH=2PV:1Q@;N<KBN+HX*8ZV^
M*9(X2_?'@;&WB%_3"&]-?Z!PGF2CB:%OAYCN;T,ANTY:>D= NCSI6P.[QK:5
MZ1'O?;H6Q\F&"XYA!N\3_I2J4*HS[<F1<C(U*?3N9OJ09UX]Q3?4(C7*4U*0
MFW?INJ!@MAFJRG P,:8J[L[DU4!X.,$T&S#,1K]5'3Z)DQ'X>%=W_3 BP*Z!
MRIN[ZK'G-6/V&!$?&#L2))[RXCG*8?*0G="S$-?/]*;0>$V:@Q_B)".SG-6<
M*(Y7L S%PD)]C_$8"[9W%(^/VDEW8)Q_Z07#(RQ&3 FLF18HB5I:W:A.&DSE
MP4PXZRIL((><8*!W&["YH<Y-OR\#_T[[#Q;^'9. ]2/(<_"&2/QX5!<HJ.V
MEJ&C>LD1Z7!\9X2D8S$_+3QV,!;K-=IG]#)NF-#+N;E7GJK$V!<4BUGR7N7?
MEM<2^S+>"M6B^@DX/ KD5E-E42+]S]XECDBZS0YMA,R*_NOX60E]KDP/]ST9
M1Z#G>G:%^+YQ';AW=0Y89[\'!G1^P7%0+BOA'L0[HCQ\RY$PT_*.N(1D_(I=
M_(2V.Y3159[#7=Y:LLVB#ZFL]02A1B3VTX1R)_+)0IDNFS($AY^#V+^M5[[(
ML!CZLX<2E>Y$H@F YJD(-IN$--'B]#I.-LN,[>/A5P@ZLG7%()>UK2!T(K&N
M*!1.I!6&5#<B/[[%_9=ZWUH@]896^2+#8NC5(S*53GUB!*!9N'(#2]R1@9OZ
M.$<N2>1"[&.(A"QI(?=MRP>A=1D1!$I1_?OA1/@P.* H/J3[L;NHY\NVX:Z)
MB+DZ!_OM/B4G]] ;>$@]E<-'F!7)$]ML(^HPF.D=.A&Z>O8="[,('70VM!TJ
M.B":=J*6:'7#$N@(U\<_5D-G@;#.'#G(HE '/1L]]5YO9R1DY[S4N6Y?GJ(M
M3BX]3DAENA<W]V7<7-7,]VQ]:K; N,9US#V=08\&?*Z>^#[C6EIPP_N5I27,
M2, 5Y=RAK$#"/-U[F&)S#Q]@!O,X762;Q6:;9 D942XQ^^K])?)+0>R,U ,"
M(XW8CA18Q>YD.G1T"-(!AG%&AUOV/ \YV$$+N2KHWB#%*%N=T8N7A':GDY]V
M(;B'/)L"9<I'@*G3!0!= \U6Q'#O3_%-%\F$J"_.^#Q,G.QU(,?UP,WI/L>A
M7].=9O0$UQN(XT[6N,U+I19?XGSS(<?=B,&8NH6-]@9+<QLN-NF,C=S)%IX1
MSI4;?(QM1LUA3^B>'"?'Q*IM8;['\VVPU=\?9 G2]NXA4U.##4;68)\O/]S
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
MR=7'C\O51[JP:'%Y"DZN+E?+RP]GER?+LW 6"8S#C][%]TH ,OX;F6BSW0[
M,YY#2E*/BLD:DIUS0 623L[XDD;AYG@ND0OUR5I\S6AYB1EW!E:+_PR(7CJ%
M.CB62@<#C#H2A>&)4'J(F8D63YBUN'.F00NE9$,+B:0U+911V--"YD)."[%F
MU#P,B!/J$D5&G[[/":%"EQ/Z<)EG\3B\*Y5TD O5R\,%0K;KP:6^K1> BZQ+
M5WSSE:++JQ6N!:X7?UL<7YS1YM?%U>6'MZNSFX_@].QX%0P9%.6)=+]^;S$W
M5[:S>EL/(G/U?YK=8;@==P/+)*<+,'5Z/Z::A[Z/OJ9]S\<T2@?]'@.7BEZ/
MMJ7H[./UQ=7?SL[ \=GEV?ER19EWN_@+[O=@-EXL+L-IF8V!#K(JTT&G1]=
MK\LS&K<S#Z=^RO+JGI._=S> DFMS+E%6[71??(GSC>Z",&N+@V%5"XO.AE:M
MW\K=\*I-*'I#K.,]1/CQV^KY$6#7Z;#;W>A-;Z#2"F7(U1ZKW&%75Q08#+V.
M-LP??G5'K%FRUJ>"S%@59;*-R\%!:_R'[$/V'UJF!;XO6X8/K,K(VA../L99
M7)VY &#]*UV(F<,=RDOO"ZX%Q8-4'[7+A*Y,&]2*$IZMB1SGU:K+9[(E.D'Y
MWV"<-YN63N,RYC2.M75:S6(-'0<-8NW(7#2%=9RI&L%J&]$)RG,RYUTM3(@S
M /,<Y2#)P"Z'3PG:%^DS2(J"7!E^7ZN"HMEOYK]%K(\7-+(XAZU@I6J__6L.
MT%DX>H.S8YZL<;U&VR.?LJ0L;FX_?83D0+\>$[1DV:=2R%IR42L26PZJG,BX
M)]>-#H]9,Y *@,_5<\^=3+UB1H:ET:605*5-'3,<S7.GP^  #\% CUJPOI%!
M(FA[>KPR!NMSX64>I">^BQ6CV^6'R^7Y\F1QN0*+DY.K3W0:&EQ?72R#FHG6
M*&)D4AB]8]:%\IU3U/71,PL_5MCVU?UB@W:D4<&M260B[!/P12S9(/-KRP.!
M;1D#N"K1H3S)<M!L0[J;X--N0Q:)?CY%VSC)/*->6GQ([W-WD<Z3;&-<"PWS
M#!4VQ\7$*=N_??L(86LH4WC\VAC5>O#/2-5VE&]$G-;#>68^I>-V)J:$YRIY
M'I(; Q5D5X2]038#"YW1-!NDSK6ZB5X#4U\'L\RNRD>8G^QQ/S@KJ_VBPV5.
MVBJ']4X:*O8+G[3C<G0 L:9+Q8HHM8F(_@;6U8\@IK_Z7@-B@ (TKI0&*Z64
MFKTE4V& SNG&0Q.'MKAC6PEK4?"F%OZ1C(A5F&0*;'O_Z\6D9/O?%,#TN*%/
M$!ZY3M*\5A!IR2N&H=8T-!5%9U ]K#0NK=9T/8*N RNLI@BXAA B0DU(!9CD
M=.PK:S#2%PSGJ#!$/AV 4*?:..B$7',XQ*IY_>$ L&%L"X_S+,D>BFO8G"=/
M]V^=)NF>)%#-'>%CK PW@YM9<;</?$ST#K> &[K7W/UM9#4B$W_[LMGU3:7I
M*@0F#VI[ !NLSDP+92G0./#QMWM;X'BPY,?(F&"3MQ4C9DXE-,*[_GT4O6DQ
MNJAR.%&V(%O9D_)9,]],YVJ0E*9PY2QS3?<=W*6W26+4RX$3N([JWTF6'$R.
MDX1Y<_LIL+62$[*%FT4G9^<@U;KWR,_',R2#>18&'*ZS/D?Y)?S2FIG-48;_
MN69'=']-^F,)HW3KY0-FNN[NH]>/U'J1@:%3S9OF-6S)IV.)B.\E"*.0P[\B
MWAAZ]4(%$Q."&^!'0'>F'8[W20;I1OT\N=N3U'2-L75677&8?XS+]2,.M_,<
M8OIDPUV0MH::G9+C#5GOIK1]!_L=EQ81R'=ECC8<U4)@RZ3 NB5V!':58/Q
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
MK65)>\/HG%1B^CYE'->UTJ^V:#T5RFR?*3C0Z)+KLE53N4W3P!#IM 8R].D
MEJS.J;%)VU'\"N@;PJJD>ID.L*'VF$PZ2";]H6E;BO/U=FR:@/W&WKKF6EI+
M!-RN,V[&C6BP_?_M?7MOY#:6[U<A BR2 .[<Z>QF]^Z]0 '5;G?&N]UMPW9/
MD)L_!G(5RZ5-E5@CJ=SM^?27I-X2G^*AQ+(-S&[:TGFPQ-]Y\'5HG)_Y1=-T
MPPSG487I(.(Y 6OL<, 873/ZYO9FPIOX89M?;;YDF$_"]9!L0"G8.#Z@!-QN
M*VD%Y-;:H0K3;;1]SG++;'-@+>)%T\/9 ROK4\FF5S4$!!M<>PRR':TZP,QP
M(%-M%T:TPF.:T+9AU!(3ZWC$Z3U1YRPZ7>;'.0>&TC_9&8*AF'6R])BGD;$H
M6>2'/R=%$5B6HM4R&D!O7P*").D(#(1F2D6Z;;(ZXS:&5>B2/1\6&M-.6$MS
M.N9F)6I1G_@AFP:8 1]T&P4BJ<&..>QF(T%NS988#F%-X>+;:G=<L]L-J?^A
M_UO?1=_LUA=4$LS6&L02_,[RJEKM>;)7HMIASE<H<<&NO\G8_K2@9W65\#&?
MX35 H=E$KTB0Q:1O*%BV2A==%]1D#0"&]-MRO^5+Q?.XE0L/@)YM>3R/4\S"
M*K]-E&I:?HO[.Z[51'5 $A,YVZE*MWM8D4A7FYF0:=$\+VZP96]H/DC?S;X(
MJ.P_8OJU^S8BHNV:@1$D9@+Z>\(NH=9"O4LF!7M%!@[WKGYXP-?R[2!?LDE
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
M102 2V^54 QT H!37/N$,[PAFS>4!7&>,]3F>NY@-2QS HO80.)*'?T4461
M(X@9+1I 2QQH!H\';0VF!M;P+*[ICV%G_Q^CW1$S9U\X^5TH(QQU-TI,1=;?
M INH2646X!D7WOSQ0(,U.,2^MGY]RK@P=)CFX C-&9X?TQ0K:Q+*2%6NL2;U
M80F]=GBQA4:'M354K(OR'^C 0J$H00[;=_:[6V<J8GBHC*7Z0#J;D:%I/JOY
MDJS+TC9X??%M1<?:-.$YFIF1CE=E5W)>'X:F:ZF'VN FNJTM4BJ+3V']'W1)
M7]#O$U#)0W.PZ*S2$&TJ,Y6)T-IM&&CUGSCI-(,!5I-HG:$V(RHX4<'ZDK!M
MF[2! SRT).\S[1GS/&](K0I);6H?9CULC1<;[JBQ-M@6=[=6=#O'.T,)2=Z4
M= ':HZ#?=18HA8K*W!HFK8$IP#6?-<E+!9J2J^P)LA:;:7M 2@(:*+.VJ\!+
M !KWM\Z.M"7_=%Q:2YH25OXS+LN2?F8R%'E5* 7\? #.-EL:B;K0<B+#PGRC
M> W].VRALE$M];?*,++PGIVL8 KNC8.)A94:%-BS$F%CNC/B=-)08EU ;X1
MHR 36+F\:<'M$(]@$!YPI-*4P1O+;ABOP.N C6WO)%'+LLR=M;@ RMN-QHN%
M;9N5L[.58F/<L\-VTB VIES=.)F&H2R,XG1S0-TADD'B/>!X-G+0-7*\-5D*
M.\LH"VB %5(Q.6L<6!BKVUAJ3)(Y.?PFC3N0XZ910Z83&2Q!8-8AL+@ -_1
M,BSQ9LMF$T@@:F/9MF^Z0*(OX68L)H#2;=8XL#5*::DV4VYK>YP2?M,'$L-2
M;':RK +)[(77IL"L:R 9"=S  XFHH)HUGT4H@2E!9=W"R8*)2<$T<SD!%$JS
M!X.E;2H*HQFSVQKFQ"B</*88%SZS%&8350(H<S8-=AT#RW@ AQY:!N7+++EL
MP@I ^2?+UDT74K3ER4RE!%"6S!8"M@8I*T-FR&QMA]/A;OH@8E9FS$J450"9
MNZB8?ZRZAHY1@)TQ;'1KM%SN#U&<LM9])%E_?=^$M/QB:E)'ZS1I!T@HT"A2
MF:"2=='4+"KV$_-:)2BNJ1#^=L!)-G.N9M3?Q*Y?NA:EXFB;T6QP O7P)HK&
M8JKTY8-B6 T58F3/!U */PV!JD 2^>ILZ$7A#Q3)NX12D+ /* &3)4DK('.C
MH0K35*C/N:@>()*$?"9>UK62Y$:-!$$NTV.0Y2\3XL;*Y5J-Z 2*1L*'>ML;
MO(_BA'G;39E#<Q1E**Z %40<A\.206(\#DP!N=HR.[]*ZGS=P.O*F10.6,3D
MP:;D;?-F74*5MG8F$-+*;U91MD6;'?F:47SA-36YGA&&9W,*D&C,3PLOA2$.
M>74V.1LNO<VGZ%6Z@U,\FU*G&"4#2S5JEN<-4<.9%$B<!C./(HL=&BKA[ F<
M%6JT>Y@S,?7_,J[@Z_[I.E0ZFM5X<@FQ?/CJ'24>IT*LO+&2=3@!$HBS=<>)
M\82'#5C"<YCBBH!FQ&KW"545T*PM/IVI67E #;.H0"#IS4N'[F8510*M$*.V
M(T&AP%DA-H4G[JD:CS.M7SY#YR'4)()&F+V[MH99J%<-&9:G=))A<MV0MP*
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
MB_MMD%RKNG>017>(A^FR&@3>L5SL^=.C64 GQ'.'#@S1 NUPF.X*-T-UFV>
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
M;L+?KU),,S&TB59%$#YR<A[+BS?10XKYS1\SAU\]*HA-!W9M1,I2FXA&J#?
MP41>K8IQ4*-Q][^N44& . 5B)&?H\T_+GP*YR!D(-Y+@ZPB<<3N.)?[U,J$Q
M+3_F^&ISM=G$[+*D<V[#OQXC5E 4XP\DY<>JE@EU]>OXN+^-_XG7%^Q&DT-*
MG7XF],?@<LM/""C7Q?S F@$>'Z!;)C5R6$6+)=H1ZA#*<+/F [O[)QY4;@]1
M$F=;], ND4IX<6HZ2#Q$:<Z"483.K_YV^?[-V_^D6=DNQALFXR&-]LR:RA#%
MRQBQ\$22/$Z.Q:05Y<7[PXX\%1(3/L\0Y3EF! 4]I@QD'Z\0WFQHLE./3&N-
MCW%ZG'N,"6]JQ"?*N[X03$7M.X$;'8R7@ GJX$V:QC_0I*&6QXRPDH@*D:B6
MR?U&<?Z9670A]TW&!*.6Y$#RC!,Q74D>$[CM.DY1@/>-^XP&9)/\V^VKR<YD
MLB=GK9 #FL^TZZ)L>Y5>T_RP_(-?U!WQ.X6SF_AAFU]MOF1XF64XO[K/HY@5
M[TNJC4NTS5<'S&JX)@\?,1U_?:P6&WI>8@)-90]ZU>3B(STV#'Q@Y+^M4I?J
M6_5BN6=UAIF7C9-5R@CH/U#*Q+XAFS?'C"VK4<GL:822H@7H!^IW^2BJ?/ C
MRIM&(5*V@O'@:D<C<]6D:@G:<4WU8MS,XZ I[)%,"_RN!_>HM/;IWG]8P.X&
M9H0U02/G<C1T%%8*Y2>)F>NH_FYK.4,WE>>AFA!7A:Y:[N2B[4YJ?8@K1+7&
M5V\"C>MGYTX<AW@3]+'[H,]O(^=P)=\MKGHI!$].,GG*T4TT8DQ=3()GKJ?T
M3!S$L_0-D -*+OD.IWLZB'T?9RN6:=]$.5[>LROW5OW*9Z;DU3ED+;F+@]-)
MA\MZ3#5)_8V9@$61(S Z/EE442)&BOZHB&>>(S+& !G33[U#T1K6VMP,=?B$
M&UQ0-- T&FDO%62>\07IDW_#+#;@]?*1NO\';."6+3C*WV_$X6(M!@K@_+.%
M,JGA&,M85)1O2M) 3<@&%&1DKW6MR8"[-BAS39Y1".>VS92Y /"E8V\2V'ET
MY3=X3[/\*J'GX<3(H>OYQ&Y=Q0=H5G(UWER\7J6IG>DD#4VNYD"M5"I0RS-
MCL3^##M5:8IR&3*#U&J=!+;>8H)2I3MB3<'Z [OA,/OQ)8%V<KQ"AI$/\29_
MNL84UDE^3I(\C>^/;!9)N#G9C+C\#CIB%W-3RP9? C=2)[4Q ^Y%^9J95;&W
M%J=H'^6K+:[WSI;/\?<9.C34JY; DF,]\WJR(4J(=5]V#4S-5UN5B7B_4(3)
M4LST.("0YB.<")54J$T6R"8R<&A)D@TP;#FF%6:_USV7T.H9B:OO%K_\Y5^>
M/9 \8@@RU%\E^*_'9)WBM6F\M^ H?[L1AXM%&"@ #__F.J5F8BKB624"-O A
MX_JW:W(&S+7=&2N: *TP&8*%,E><TER!4J*2-.2,P2,&);F#!Q Z9A$6W\ ]
ME3!3Y@+ [Q9O_Q)F5N$);)/@##+3N/M*/D7_0]+S8Y:3/86+,+O04%55EV54
M+A8A$0J>.:CU2(U Q;:@+VE\IV_1JGK-^YEE!KPDYLQ17]>MQ+P/>A6>Q0PU
MR)4"/:$%)G)K%(S!R=L"*/PUJM\'XB<!("()O@X8 2T/<<Y^/'6QW#/<Q-F?
MDM4X+5WY\Q1T+LB6BH7#ME:%%-T:SD7G/6($P:PZZ+N56/5 %^12GAKF.JF
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
MR1JGA^B)'][D=$P2ROFFS6+_*$L+JG,3[=<SIP.0<"=^\-9U-P#":^\$UM
MK!,F\P%LC&^[I'E56Q*B[U$EZPQ5TE@IGX*?I^#5?M/R$9=9G;9^-40=M(*W
M1,=,$K /(&9Y8)KCTP[9#&8W(KX:D3XA#--^(-/RB\T&K_+X$==J;J(<WV#6
M=?$NCLI%OWV4T(3I?4RIV=YSG-%G*_JD9YM TLJO[RS-Q<,X*@=/PV':(W4Q
M$.(7Y1_1 ZZN)5W7E.@>YU^+?=_E=IXFMZZ3]!_N"W/XD:< ]:RUDI(5<SHR
MJOLG%!T.NZ=J6F]->;(\7J$-9KO/BU)01S:1VQ:8%GNY"3JDF/U=OOIA1[+L
M1\2<%=O GL?)D1<D/)3[V#,4Y72D?'_,JW.2A^KKH'M"_F1/6EJ:[S#W, +*
M1 F\G72=KJ/@VN&"-'!F3P(S9 !JB$\?0H<*M916ZH^8(-25=(9J6:@EC#]F
MXE[-3 :B8.W,<5  ],W=9Z+=&^++QGB,;H6I_]4+3J]&(T]'P[*7J0<!S0!%
M/((9/R"PE&PQ.#"6[-OK&#9DED&#7=N<').-JI<]F&A/BA[;<Z=,:MG:$QA(
MV)JVC>,>85/VCMQ0B953MVIX0)YIND&(9:.F\DE6@Y.V!<M6/TYHK!*()3N,
M868VY0G&-I9]-,TXQ[Q14YAQ:QF$VR4KZ,!*.C&CO"99S$2]&J-]-GX:=@@Y
M9GJ/:2Z:<B7%'1'+%=]?FMW4A4QZ=FS!47Y5(PX7KV*@ 'Q,8JY3ZA!,153[
M@>XQV\^#HAWOX+@H3?P8[8YE]2KZ_"L[;L2/'JU+X3S5YA>;#++S-5X?*23Y
M7WA/1R#LRHG6+$J1Z4=EHUJE;69.V6T02,9!I.L/#)AK.S=6- '@85)="V6N
M4'_+*F^7N&6QK* ]0Q4U:LB?+00EN:$'##KF<A;?P#U',U/F@C_J9H>>[EFB
M;!* 028I=U_)W98<LRA9LQ*!97&,&YHII3&;#+O-R>K/:]KSPA-&([G+KV/-
M[6)2ELK DYIQ^J56-T;<XH9AB\\^_OR7M_^*&FJ4,7)TH/0S)R!C$47<N[EK
MLY:":OL=U8")@0V3O(Q4# EIFM10+E2Q%55FJP(_+7AS5L1X SFW,P/,)<G/
MA#AW3(I&?C/W!,E>,13&OUOT'?5+1_*L((9,O&Z+&J_K=U&&USV-[+AQ=G/[
M17RL>P1G^;6L.%U,U4(1>*)EKUMJK;:B%K=;=GE G%!*WLBRFDW,KZQ^9*6!
MRU2_R+>* V?X'T>:U^\8>5,A9Q5EVS,4;5B9X AE![R*-S&U_Z+8%%_OCO=S
MSQ:-02)Q@TC7[BV$U#9OK7A"0X!)S$8HA3(!FI!5'(BS#&,7YT(_,+X? XEA
M$^)8DH5- &3'[&O$-W+/O.R40H#8%+\O"KBS8-;C+-=7&FN?[B@''CG192%
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
M0F[[*W^D_Z(/JT?T_]U'&5[\?U!+ P04    " "L@G98&^9OD%=C  ">M 8
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
M53%<X6*SY:+$BC7/>A-"S2O*-<A.IQLZ:M69D63K[1$!O\CN$8210W,<I'G
M67:%R9>$+#DU+4M+\VEJ2OMIZE&PCF]J&<&NJ<<$ >4'A;48!BBJRP:JE-2X
MBK$$>_\0QEFR^E&^XJXJ"Q8MII-;'CZR[_V'%H??HP2/1LWIV!D+L ]+A &=
M00I&20BF5OLYX=Y\?$#41$5:HO89Z^:X,LO=M\YK+K\F6<4'O \E3I1@=!9Q
M,?:3 S?"Y&XW?WTGI##QG)^\-MYU451H>5$1ZI(:%6N]]@=):ZHS9L]?""[&
M$\D)//H3$',>,78?%^9R,XTQKT24P2Z)KLUH/!'D0"9JE&N9'!',S0PV%\ZU
MM8@RHM8;Z!Y0'3A\PD_)VV]I^<)L1+6GE@&]K^Z TW@*9<XI1MR[,YW+B8]Y
M52QBAL&DWVBZ-YO@407M>L 4%H-EL2F+&#'OP%B.%M>F=8CY[:O:)/OT.<OZ
M[E>9$L&43C29,2O9G\% 2T8)96O3N)FK0$5/?ADK>. V'=H*N<.B1M#MBAXO
M=H7&.1!X.]D6!Z>#0>_@51$.GL)O^PQ=_6\Q DREWF0$<<Q;B/P<7TQ-=EJ#
MZ47U1>DZ;][%7KSW[HO0#E/_*VLPL)NZ4[/<K>A\AD/:O$+:-IU+2(S8/XC!
M)W>BN6K9[5/%=@;">&-\E*#A>+?&-;DHW&Z.?[#>XO2<=,)T;WP,H"/='9\!
M/O+]<8NM-35Z?)QANQD=M!*^AFIR/DERLFTG2?R(J4:"X_-N81T7'#>"X1G!
M'H.C2 $!N"6)I9;5W+N5\QZ8M.7I"'>'OTY[@8H%2;>,W=WJ8U50A- EC(^E
M!UDG>?KO6K']U=YFAG??4_INU=YP3K+]K5_)A5JG/+N%A1N>/B8$'Y,B+=@+
M3+V^FB\?Z<0Z7:4+]E+88H&KG%TDOZ=J+5)4/%%(?<S&:>A=L&H-.HV5-S?D
M%EO8J4F'3LU)39G3FU;#:%VD4D$?KG)<"XG_TQ/N+SE)";TL76Q\DE57"=[/
M -H06^H^=!-R0?6$Y]A[^<<D8X_,/+X@5.YOT?CHWOMT+3N[[E.-27JZ49FV
M^8%E?.?+[#?,OLIR+V!15) Y4U_4FT<P:VL\R21#%P&2S*?&TTN,UF?4J:^\
M^(A&LL09B#^V+<I_]-&];^@:$Z%A!C%IAX81[[13$WOKM)(VP8;Z#?OCD"GK
M>#IFT7:U6URR(U+O+-Q"%QWLZ<&R>WK0QQA-Y6IS7JJ)NE%80N2C7P[K(NN0
M&BJA7B%T04US8*AFW)@HY,KZHI1;M)WP<K/-\#M"'U&.5BE[6/XQ>6491=@[
M\U[&P?Z1R-VY'3;OT">D-2^Y3W<&+^GE44FV?5[7K=Y3O\>T,KM*MFU7Z/OY
M5#;= Y36;/SEB;7 !G9F,"[?*[PN]?.4UG6(UBOU,IS[<$$[\5J7 Z#DT]F'
MXE($%9*Y#0BI7,T0NC^DG;"1HJ/S!3+^@XS]CKOI^'"AC^R]FTW:W.NA+NH<
MUV%$E/N*I"NJ YE F)?M94PU*.LK*:RVBC(?8%?8Q#@A^ D[!.")YAE-#^!U
MZ!+5FLB.V]_TMBVZPPU4Y04506H9S 8/:?&'#^?#Y#+YGVE]",O0*'ION,MZ
M":'MDE^J:?TXDY[-6?T@+@1>9.<X($6\N0M8&V(KU8=.02FI<0(0"=&N",)X
M D"9ZU^9U#^,[/V\#5D(5M]OC<M)#ZM+RWGKP:HSAG9:#_NMZ)PAF&^TO?4Z
M+U):]2>2L(/39X2P%V8V+G;?"[3X?HU??T"+90OYQ7*/=/J/WT>R;R0I)_6$
MNS6MG'!J/];K\U!EZ,./SW_^0 6?+?&V1,NK+.%/_FNHNGF$C,KCPES;"!BJ
M';\DEW&N$VC+.,[QUM$<L+BEHSP(&7K"_0-AL>(#K*,)1%1,[<_:'Q8E?06>
MR"8O=;YC3"1P'7VBP)$!TLW6<?09AI%US]AO2$&AI1-[C8B@ =5P@L\0 ,0B
M6UU@49?Q8='3R>DY-?Q<H+O595&FFZ0<I2 1?VPUX3\&?N)9J8O)R6:>490I
M\P?W.FHMWQ6!-2WI/J"F( T<( 9ZFL!%S=;'6UV29XDOT*)?U;M5FT3AL7JF
M@U*:D,X72Y$R@</N$)@%A\!Q-=TJ)G"SDA;&]-+V/%="VK>$V56S%)-_H(3L
M;J9=)&4B.,D%+M,[PP4H$S@4;30W\W4@_E&F5F9/*+,-4/H'"ZR^)AF+.&J&
M3I,RO9?J 65"1YJ%YD9(@_&/,K?Q UH@JM%SA@JV$$3=V;S6(L7^^UF6X2_L
ML@QU\A>X>BY75=91-;;@@S$SL-X]H>B2=>#PGM&.)KW ;37LGT[S/0N0I_LJ
MAOF^-/YZ,I^V#2?P"1SXKBQD@O(),BUR'H?@_U]17J$KVBSLN!4S \OP?%X5
M)=ZP(]HJ"-L5WOEPL\*!@W62+<S\L)D@BXS&<ZWZVZKW'OIAAP5ZXX(&: 8%
MAR #%8P#8.8VL  72(A%LN% AO!'E%%VZU]0CDB24;]^MMRD>5K49\Y>T>4;
MN]2B"T!-8](=++)D$CA6G=C&* .(I<!XLR'?$[Q%I'QGMQO994>V,MVR@TEJ
MU)H6Z^[)@8L%CDQ+_4VP"!<19_;?ZYR.$93MNQII.K+=D3096>!( NIG@APY
MRPG9?GT[JB;K0Y/L08T8 .4@DX:$,G#<P+4T@8Z2ZX1LO[[1<[W9)BFILYX2
M.A7=XB+)[E8LP\8-'=>79U1KW>)A"HO.25FQ"!R(#NQBY-RLQ'70=7+8Z,!7
M+!*2U_DG4/-,EAJE0.KN$H:..G#LF6EK C,MYPY1%OLTKX@\8[_ND%HA7Z<L
MR%[WERNZR"E1W8&$>S!@^MUL3$L?.+),-3:;GVEY=^BRV-CP.*6_HIZY?@"M
MEV;W.J>*5QLDV]XS*M/M5<#*! XQ&\V-]B!@_#NHQ;7AL$L@H5L]JLGX)!VQ
M#8! _<R\DXQEAY2#[@&X>2)F]+;HW;9--G1=WQ*FOK?.[R5T41,X]!^9,>40
M./2F6\4H,FLCK0.LQ=Z"_SF:X)FP1B_=T6>S8KW#@K!B@</24G_3(X,P$1T
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
M2>OKF:+C" #*5D<EY2GD%&'(Z12J."5._RI"%1 G!XY.*)@%FS9]\M ABT8
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
M=EATE9RHD_X! "$)%0 2              "  0    !E9C(P,#$U,S P7S$P
M:RYH=&U02P$"% ,4    " "L@G98ZN(_]9("  !X"0  %0
M@ '#_@$ 968R,# Q-3,P,%]E>#(Q+3$N:'1M4$L! A0#%     @ K()V6%YB
M^J5; P  0 D  !4              ( !B $" &5F,C P,34S,#!?97@R,RTQ
M+FAT;5!+ 0(4 Q0    ( *R"=E@8@.F0'P<  !\;   5              "
M 18% @!E9C(P,#$U,S P7V5X,S$M,2YH=&U02P$"% ,4    " "L@G98*PCG
M3/8#   A#@  %0              @ %H# ( 968R,# Q-3,P,%]E>#,R+3$N
M:'1M4$L! A0#%     @ K()V6&P_##?)(@  ?"4   X              ( !
MD1 " &EM86=E,# P,#$N:G!G4$L! A0#%     @ K()V6"X?)=A^$   KQ$
M  X              ( !AC," &EM86=E,# P,#(N:G!G4$L! A0#%     @
MK()V6(Q-"YMX#P  =1    X              ( !,$0" &EM86=E,# P,#,N
M:G!G4$L! A0#%     @ K()V6/F;L(RV$0  C;T  !$              ( !
MU%," '1L9F$M,C R,S$R,S$N>'-D4$L! A0#%     @ K()V6(LI37I %P
M[ET! !4              ( !N64" '1L9F$M,C R,S$R,S%?8V%L+GAM;%!+
M 0(4 Q0    ( *R"=EBCHGQ5KS<  (V* P 5              "  2Q] @!T
M;&9A+3(P,C,Q,C,Q7V1E9BYX;6Q02P$"% ,4    " "L@G98Y$AQ42*[  !(
MU0H %0              @ $.M0( =&QF82TR,#(S,3(S,5]L86(N>&UL4$L!
M A0#%     @ K()V6!OF;Y!78P  GK0& !4              ( !8W # '1L
I9F$M,C R,S$R,S%?<')E+GAM;%!+!08     #0 - $L#  #MTP,    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>ef20015300_10k_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:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:tlfa="http://tandyleather.com/20231231"
  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="tlfa-20231231.xsd" xlink:type="simple"/>
    <context id="c20230101to20231231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c20240322">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <instant>2024-03-22</instant>
        </period>
    </context>
    <context id="c20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20220101to20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20211231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20211231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20211231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231001to20231231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20231231_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_StatementGeographicalAxis_ES">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_RestatementAxis_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20211231_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20231231_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20230101to20231231_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20231231_BalanceSheetLocationAxis_OtherLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_BalanceSheetLocationAxis_OtherLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20211231_BalanceSheetLocationAxis_OtherLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20231231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20230101to20231231_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20220101to20221231_StatementGeographicalAxis_OtherCountriesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_StatementGeographicalAxis_OtherCountriesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20230101to20231231_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_IntellectualPropertyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:IntellectualPropertyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_ShippingAndHandlingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ProductOrServiceAxis_ShippingAndHandlingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_PropertyPlantAndEquipmentByTypeAxis_LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_PropertyPlantAndEquipmentByTypeAxis_BuildingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_BuildingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_PropertyPlantAndEquipmentByTypeAxis_LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20221231_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20221231_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20221231_StatementGeographicalAxis_ES">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20220101to20221231_IncomeStatementLocationAxis_ImpairmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">tlfa:ImpairmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_IncomeStatementLocationAxis_OperatingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OperatingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_IncomeStatementLocationAxis_OperatingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OperatingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_IncomeStatementLocationAxis_ImpairmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">tlfa:ImpairmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_AdjustmentsForNewAccountingPronouncementsAxis_AccountingStandardsUpdate201602Member_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201602Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_IncomeStatementLocationAxis_InterestExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:InterestExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_IncomeStatementLocationAxis_InterestExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:InterestExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20200401to20200630_DebtInstrumentAxis_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tlfa:InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20230103_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tlfa:JPMorganChaseBankNAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-03</instant>
        </period>
    </context>
    <context id="c20230101to20231231_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tlfa:JPMorganChaseBankNAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_RetirementPlanTypeAxis_OneHundredPercentContributionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">tlfa:OneHundredPercentContributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_RetirementPlanTypeAxis_FiftyPercentContributionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">tlfa:FiftyPercentContributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_RetirementPlanTypeAxis_FiftyPercentContributionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">tlfa:FiftyPercentContributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_RetirementPlanTypeAxis_OneHundredPercentContributionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">tlfa:OneHundredPercentContributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_IncomeTaxAuthorityNameAxis_InternalRevenueServiceIRSMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_IncomeTaxAuthorityNameAxis_InternalRevenueServiceIRSMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_IncomeTaxAuthorityNameAxis_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_IncomeTaxAuthorityNameAxis_TaxAuthoritySpainMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:TaxAuthoritySpainMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_IncomeTaxAuthorityNameAxis_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_IncomeTaxAuthorityNameAxis_TaxAuthoritySpainMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:TaxAuthoritySpainMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_FiveMajorCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tlfa:FiveMajorCustomersMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tlfa:TwoMajorCustomersMember</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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tlfa:TwoMajorCustomersMember</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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_FiveMajorCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tlfa:FiveMajorCustomersMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_FiveMajorCustomersMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tlfa:FiveMajorCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsPayableMember_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_TenMajorSuppliersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">tlfa:TenMajorSuppliersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_StatementGeographicalAxis_NonUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsPayableMember_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_OneMajorSupplierMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">tlfa:OneMajorSupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20130131_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2013-01-31</instant>
        </period>
    </context>
    <context id="c20230430_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="c20200630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20231001to20231031_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c20181001to20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:PerformanceBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-10-01</startDate>
            <endDate>2018-10-31</endDate>
        </period>
    </context>
    <context id="c20181001to20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:PerformanceBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-10-01</startDate>
            <endDate>2018-10-31</endDate>
        </period>
    </context>
    <context id="c20230601to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20181001to20181031_AwardTypeAxis_RestrictedStockUnitsRSUMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-10-01</startDate>
            <endDate>2018-10-31</endDate>
        </period>
    </context>
    <context id="c20181001to20181031_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-10-01</startDate>
            <endDate>2018-10-31</endDate>
        </period>
    </context>
    <context id="c20220601to20220630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="c20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:PerformanceBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-10-31</instant>
        </period>
    </context>
    <context id="c20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:PerformanceBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-10-31</instant>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:PerformanceBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20221231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20220101to20221231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220808_RangeAxis_MaximumMember_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-08-08</instant>
        </period>
    </context>
    <context id="c20200809_RangeAxis_MaximumMember_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-09</instant>
        </period>
    </context>
    <context id="c20221231_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20220411to20220411_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-11</startDate>
            <endDate>2022-04-11</endDate>
        </period>
    </context>
    <context id="c20220701to20220731_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="c20220411_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-11</instant>
        </period>
    </context>
    <context id="c20220410_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tlfa:ShareRepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-10</instant>
        </period>
    </context>
    <unit id="U001">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="U002">
        <measure>shares</measure>
    </unit>
    <unit id="U003">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="U004">
        <measure>tlfa:Store</measure>
    </unit>
    <unit id="U005">
        <measure>tlfa:Segment</measure>
    </unit>
    <unit id="U006">
        <measure>tlfa:Discount</measure>
    </unit>
    <unit id="U007">
        <measure>pure</measure>
    </unit>
    <unit id="U008">
        <measure>tlfa:Customer</measure>
    </unit>
    <unit id="U009">
        <measure>tlfa:Supplier</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="c20230101to20231231"
      id="Fact_8bf0291e3c9f4362bd69e5fd1a92ea4f">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate
      contextRef="c20230101to20231231"
      id="Fact_4b3f8f121d2846c587797564ef4a6e0d">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="c20230101to20231231"
      id="Fact_7981f98485fc41129719da6221005d62">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="c20230101to20231231"
      id="Fact_93a35510a5c24da782b0a4430fa0f7c0">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="c20230101to20231231"
      id="Fact_320571d85909409698d3dbf027d2d0fe">0000909724</dei:EntityCentralIndexKey>
    <us-gaap:NumberOfOperatingSegments
      contextRef="c20230101to20231231"
      decimals="INF"
      id="Fact_084ff30487d54523a598a9e14e78cfd0"
      unitRef="U005">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfReportableSegments
      contextRef="c20230101to20231231"
      decimals="INF"
      id="Fact_48fc0c1dc93f4cba8024c854b02a1b0e"
      unitRef="U005">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MinimumMember"
      id="Fact_5c4f4734e8fa4f9ab6d9ff25cd28ad7b">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MinimumMember"
      id="Fact_af8ec3d5fde44ae9a32304dda2a30171">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
      contextRef="c20221231"
      id="Fact_42175b4cf694408b86a7f31b64515fcc">http://fasb.org/us-gaap/2023#OperatingLeaseRightOfUseAsset</us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
      contextRef="c20231231"
      id="Fact_b9dfdad94aae4396b495caba99b90ba2">http://fasb.org/us-gaap/2023#OperatingLeaseRightOfUseAsset</us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
      contextRef="c20221231"
      id="Fact_61204fcbee3a4dc2a55825352cedb41c">http://fasb.org/us-gaap/2023#FinanceLeaseRightOfUseAsset</us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
      contextRef="c20231231"
      id="Fact_191f13dfd1884c7da7e42218f7e403c9">http://fasb.org/us-gaap/2023#FinanceLeaseRightOfUseAsset</us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="c20231231"
      id="Fact_55612db32bb54f3b80b4f633e166d69b">http://fasb.org/us-gaap/2023#OperatingLeaseLiabilityCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="c20221231"
      id="Fact_287013327779408883a177a55e96ea11">http://fasb.org/us-gaap/2023#OperatingLeaseLiabilityCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="c20231231"
      id="Fact_1d33cc9a62e44f4d9b50719282b6d98b">http://fasb.org/us-gaap/2023#FinanceLeaseLiabilityCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="c20221231"
      id="Fact_f125ff13c8854d999c5e5b95ee4888a9">http://fasb.org/us-gaap/2023#FinanceLeaseLiabilityCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="c20221231"
      id="Fact_f6c46685d84545a9adea4c3de34eb85d">http://fasb.org/us-gaap/2023#OperatingLeaseLiabilityNoncurrent</us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="c20231231"
      id="Fact_6436e527f2fe40cbbec7271dc63c701e">http://fasb.org/us-gaap/2023#OperatingLeaseLiabilityNoncurrent</us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="c20231231"
      id="Fact_a6c6da4f95914e30a3b2331184d7a6ee">http://fasb.org/us-gaap/2023#FinanceLeaseLiabilityNoncurrent</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="c20221231"
      id="Fact_ef3fa3de80ef4a7198d64162b5f1a16d">http://fasb.org/us-gaap/2023#FinanceLeaseLiabilityNoncurrent</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <dei:SecurityExchangeName
      contextRef="c20230101to20231231"
      id="Fact_9a97fbe122f9436babdec13084bdfb41">NASDAQ</dei:SecurityExchangeName>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c20231231"
      id="Fact_1ac8c4637f934f6f9d83a4845eaaa13f"
      unitRef="U001"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c20221231"
      id="Fact_d3052f1f6e2b4e8bb9ad01bbc3dfe611"
      unitRef="U001"
      xsi:nil="true"/>
    <dei:AuditorFirmId
      contextRef="c20230101to20231231"
      id="Fact_5b62bdad4c83460289f86e36afe4fe07">410</dei:AuditorFirmId>
    <dei:DocumentType
      contextRef="c20230101to20231231"
      id="Fact_ed83104645da4f5aa6c939a6edbac3da">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="c20230101to20231231"
      id="Fact_4e8252d5943944a18ac82d2a06dd770f">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="c20230101to20231231"
      id="Fact_19b62d2d66554e6f9dd8e473e29fc9d3">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="c20230101to20231231"
      id="Fact_2f9d15fd15c8456c93a48e24f827952e">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="c20230101to20231231"
      id="Fact_350f559db66646c69a21a7d48eaa203f">1-12368</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="c20230101to20231231"
      id="Fact_36fc1c9754774315bcfd911c42c87fdb">TANDY LEATHER FACTORY, INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="c20230101to20231231"
      id="Fact_413e0ec5b3bb417ebaebb386e7ecf12b">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="c20230101to20231231"
      id="Fact_96d756a6f548482685c5be207ef5fcd7">75-2543540</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="c20230101to20231231"
      id="Fact_8142d85b65e64d96bfd678eb0065d073">1900 Southeast Loop 820</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="c20230101to20231231"
      id="Fact_b4b8855d12fe44fa9d16fbb922333743">Fort Worth</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="c20230101to20231231"
      id="Fact_d611ffe6bfd7435a88bc5a8adeefc15f">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="c20230101to20231231"
      id="Fact_160cbfe456384ace8e535dd028854cde">76140</dei:EntityAddressPostalZipCode>
    <dei:EntityAddressPostalZipCode
      contextRef="c20230101to20231231"
      id="Fact_d528d7832a24484197842e77264fa4ee">76140</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="c20230101to20231231"
      id="Fact_8964d3d87bad4177af63cd91de82bfe3">817</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="c20230101to20231231"
      id="Fact_a9aad8e5c50b4442a61a205115796b1d">872-3200</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="c20230101to20231231"
      id="Fact_c6e0f0cf62ec4e4e9eb417954ee9da1a">Common Stock, par value $0.0024</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="c20230101to20231231"
      id="Fact_03ae28a215c34af3a9f42da3f303f729">TLF</dei:TradingSymbol>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="c20230101to20231231"
      id="Fact_b59769ecc00d4d398d16c8223ca0825e">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="c20230101to20231231"
      id="Fact_4bae9787f87c493e94d6618606fcd4cd">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="c20230101to20231231"
      id="Fact_513b2396c781413482f1224667192116">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="c20230101to20231231"
      id="Fact_4a867c4430f344edac15fc1ddca76fbb">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="c20230101to20231231"
      id="Fact_9a6ffb2e37364a5aa4e3ab38598b787a">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="c20230101to20231231"
      id="Fact_c1575f517c9a4ebfbd08b139f961f63e">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="c20230101to20231231"
      id="Fact_b125a8f344a14fa2bcf3fb30f1345c70">false</dei:EntityEmergingGrowthCompany>
    <dei:DocumentFinStmtErrorCorrectionFlag
      contextRef="c20230101to20231231"
      id="Fact_496cd8f038a94d30a388b63a404bb6ad">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany
      contextRef="c20230101to20231231"
      id="Fact_76b354a42b424aa693710a788e1cf247">false</dei:EntityShellCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="c20230101to20231231"
      id="Fact_16ad7c8557c74963a84484c6d9299f52">false</dei:IcfrAuditorAttestationFlag>
    <dei:EntityPublicFloat
      contextRef="c20230630"
      decimals="0"
      id="Fact_c456b20815724a8593f1b47bf02740de"
      unitRef="U001">18217065</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="c20240322"
      decimals="INF"
      id="Fact_0b826ff7dcfd482db86a229f2d4d72af"
      unitRef="U002">8399245</dei:EntityCommonStockSharesOutstanding>
    <dei:AuditorName
      contextRef="c20230101to20231231"
      id="Fact_80c0aad251a94b94aedd8c2efee7668e">WEAVER AND TIDWELL, L.L.P</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="c20230101to20231231"
      id="Fact_c1b4c18186f14433bf9e7ad80186d08b">Oklahoma City, Oklahoma</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_8826c523577f470aa93d4be4a53de11f"
      unitRef="U001">12159000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20221231"
      decimals="-3"
      id="Fact_047cafa5001144cd839c72a2b3212673"
      unitRef="U001">7975000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_98dc92e4bde246eeaa6973d855e808f4"
      unitRef="U001">31000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_398321e4c74d48cb867b40f1af159242"
      unitRef="U001">56000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_2997235c578b495ca19b9d0e100a4bb7"
      unitRef="U001">264000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_4b9eaf55652d43d1a2ded46691650831"
      unitRef="U001">370000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_8b5aa756115142d696a86a82c5a29c97"
      unitRef="U001">37993000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_18b1c2dfb8c24af284b1b3fbf87f1d5c"
      unitRef="U001">38227000</us-gaap:InventoryNet>
    <us-gaap:IncomeTaxesReceivable
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7d51ca0a4164417ebc2c3d6999e53dd2"
      unitRef="U001">248000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable
      contextRef="c20221231"
      decimals="-3"
      id="Fact_5534908124e0452c8135ec7a4999e0ff"
      unitRef="U001">302000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_622f176ca5354481b83ae789cbb09e14"
      unitRef="U001">475000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_964cfb37cb43489596578421a24b0636"
      unitRef="U001">272000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_237eefe4b7cd4947b44c5d0fe5ad4ce8"
      unitRef="U001">113000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_fb14f1936e3a4c82b74c2e282332661f"
      unitRef="U001">106000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_15436b2e58104bfabd8d0e90a7ad9ba0"
      unitRef="U001">51252000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_20dcf9e55d2c46b78fd91475141ccd1c"
      unitRef="U001">47252000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231"
      decimals="-3"
      id="Fact_581c67d7ed164d7b9edcf9ade22f4bed"
      unitRef="U001">28678000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231"
      decimals="-3"
      id="Fact_e4fac3c582ed4d68b454b34e8fabdeec"
      unitRef="U001">28124000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20231231"
      decimals="-3"
      id="Fact_1e2d4ace5e52472b901aaa1eba01a3f3"
      unitRef="U001">18131000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20221231"
      decimals="-3"
      id="Fact_ecd367e9a1a8491cb912d35c11329f6b"
      unitRef="U001">16962000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c4956109c2db49f5b220aa3502c4ff39"
      unitRef="U001">10547000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_4cd35ad166d94a32801a07e2c64be4df"
      unitRef="U001">11162000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20231231"
      decimals="-3"
      id="Fact_61483de6f2764c458cea85e8f84fcef1"
      unitRef="U001">8995000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20221231"
      decimals="-3"
      id="Fact_e5054eb84e2c447da516c73b78ca4c13"
      unitRef="U001">9742000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="c20231231"
      decimals="-3"
      id="Fact_6e0665e14e4544539e008c7f0a2fc876"
      unitRef="U001">23000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="c20221231"
      decimals="-3"
      id="Fact_18b0f8ff72eb4ffdb3de2ed33ae4171c"
      unitRef="U001">31000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_402f1af1acaf48e0ae7fe1ef7c0d2703"
      unitRef="U001">880000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_b8bf8761e3ba4a738be4049010063116"
      unitRef="U001">0</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_bfd14baeeb9942f79c07f611603e8180"
      unitRef="U001">438000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_be8ef41d58984aa29e7c73b206f96228"
      unitRef="U001">392000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="c20231231"
      decimals="-3"
      id="Fact_52a2791045344475a5329cd5a233e868"
      unitRef="U001">72135000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c20221231"
      decimals="-3"
      id="Fact_a0fcc6b5c4a141a69c6592ca05cc7cc5"
      unitRef="U001">68579000</us-gaap:Assets>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_07bf4b97e47244709690655a53a49abf"
      unitRef="U001">2333000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_cb67befd75f64348b70150ff38f17bf3"
      unitRef="U001">3082000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c980876853ae4ab3a2e5ea78cef4879d"
      unitRef="U001">3140000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="c20221231"
      decimals="-3"
      id="Fact_8e1a78cd02804418a50980733a51acb5"
      unitRef="U001">2681000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:TaxesPayableCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_b6c6a96bba224fb099f1c8614dfcf1da"
      unitRef="U001">288000</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_ec5cd6535d3f42d08bca16790ac0ee92"
      unitRef="U001">211000</us-gaap:TaxesPayableCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_84104db3ee824aa4aefba5695fdc3f9a"
      unitRef="U001">3172000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_04023efa08dc45d3b91b6f2db2a101b3"
      unitRef="U001">2881000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_1f2c5ad997864d56be73d34f7caeb6b2"
      unitRef="U001">0</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_f2453bc1c4d34a8fbaa88ab06e62a257"
      unitRef="U001">15000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_dc2391a49ee242fb8e9627c7e00fa79f"
      unitRef="U001">8933000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_a4ff251e3d7741d2a28d8957a31406b4"
      unitRef="U001">8870000</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_6165e8e9d2d64dbe96f0ad86315fc224"
      unitRef="U001">9000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_a2cf2cf719094a49a431c3dd4f89c6b9"
      unitRef="U001">0</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_054a71a12f90413c97d200d81b56d5de"
      unitRef="U001">388000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_eb8891d822644566b2927f0396f539af"
      unitRef="U001">450000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_df61afa384e04dac8754aff1c3dd2386"
      unitRef="U001">205000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_49f7f42fd11645bf9d074f0a86181e2c"
      unitRef="U001">326000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_509ef15767a448eb85e34b67850e4bc3"
      unitRef="U001">6253000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_32c12774557d4e3bb9e52a40d177fd3c"
      unitRef="U001">7469000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_d11f95f659e64af7b4e0b7118cd012c5"
      unitRef="U001">1000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_6371213c9ee44637ab4f7f7f395ff509"
      unitRef="U001">1000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20221231"
      decimals="4"
      id="Fact_e0fdf548092648f6a32f6f51dc420b0a"
      unitRef="U003">0.0024</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20231231"
      decimals="4"
      id="Fact_d5f2a8c5befc41dc9e019c015764797e"
      unitRef="U003">0.0024</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20221231"
      decimals="0"
      id="Fact_e96d064b611c4635a81549a4866f7ea4"
      unitRef="U002">25000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20231231"
      decimals="0"
      id="Fact_b03d4c83780d4916ad1da895cc7bf51b"
      unitRef="U002">25000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20231231"
      decimals="0"
      id="Fact_dfa013909b8e4e839fc6d63c9b032763"
      unitRef="U002">9823621</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20221231"
      decimals="0"
      id="Fact_34e475f6821347fa87e29487bb1b272d"
      unitRef="U002">9717525</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20231231"
      decimals="0"
      id="Fact_7a9c4e8d99e24ec2a438892936ef1226"
      unitRef="U002">8399245</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20221231"
      decimals="0"
      id="Fact_13bebefeeef14bca9572dd96094a6d98"
      unitRef="U002">8293150</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_b74fa17a24954f20a18e9924a8d7a517"
      unitRef="U001">23000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="c20221231"
      decimals="-3"
      id="Fact_ed6f67d8051e43fda2d18daad8fa546a"
      unitRef="U001">23000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="c20231231"
      decimals="-3"
      id="Fact_88a3d1fc40964ec2b9c7c87cbea5750b"
      unitRef="U001">3981000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="c20221231"
      decimals="-3"
      id="Fact_5ef3e1e3ec66491d8b68d82d25b0090b"
      unitRef="U001">3222000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7d49317c5e53478ba9fa24814368e508"
      unitRef="U001">63659000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="c20221231"
      decimals="-3"
      id="Fact_58c9a4b7594641348b16242cc6f0d78b"
      unitRef="U001">59891000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockCommonShares
      contextRef="c20221231"
      decimals="0"
      id="Fact_40f53932ebc84a2982ba7271a3760773"
      unitRef="U002">1424376</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="c20231231"
      decimals="0"
      id="Fact_7439dddb48384f8ca34923210b01bd6a"
      unitRef="U002">1424376</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_6aa967d8ca5f4414b3d33406d921b05c"
      unitRef="U001">9773000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue
      contextRef="c20221231"
      decimals="-3"
      id="Fact_c4b218f37aee42c0a1c95498a602e103"
      unitRef="U001">9773000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7e2212cf1b5048e8a3414c321ebe07be"
      unitRef="U001">-1544000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="c20221231"
      decimals="-3"
      id="Fact_2074a4e6c9524a2db93127e8bb7ae576"
      unitRef="U001">-1900000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="c20231231"
      decimals="-3"
      id="Fact_0f92c9e0a2cf4378b31abe3dad22d972"
      unitRef="U001">56346000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231"
      decimals="-3"
      id="Fact_d5ac13d991034b0b842ae9293d8e9908"
      unitRef="U001">51463000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="c20231231"
      decimals="-3"
      id="Fact_2cda59333683495cae7e56fe3f2493ec"
      unitRef="U001">72135000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="c20221231"
      decimals="-3"
      id="Fact_4d64abe778a7425cb6a9edb5cc104cee"
      unitRef="U001">68579000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_dc5531b155754c7cb295d0b88e267257"
      unitRef="U001">76229000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_7593ee4b00d34e43adfeae02a986d271"
      unitRef="U001">80335000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_99b18acdc18343079965002084f378dc"
      unitRef="U001">31066000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_1a8b23714b384183bd90df2878b053d1"
      unitRef="U001">33838000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_a0656d105d914e87a60169cce98fb8ba"
      unitRef="U001">45163000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_b9615fc33ef24494bc134f46553739c4"
      unitRef="U001">46497000</us-gaap:GrossProfit>
    <us-gaap:OperatingCostsAndExpenses
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_8200606d16f8411b94e0d7aa1092dfe7"
      unitRef="U001">40753000</us-gaap:OperatingCostsAndExpenses>
    <us-gaap:OperatingCostsAndExpenses
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_cc4c47391f79438fb556b8486d14d8b1"
      unitRef="U001">45109000</us-gaap:OperatingCostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_d715144371b049da81d38fa5723c16a8"
      unitRef="U001">4410000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_eded6c5d0fac403eb13b053e97709b3a"
      unitRef="U001">1388000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_c4f31eb933874295a9df3e7acf3e2adc"
      unitRef="U001">93000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_6224695db13f41e891f71087233440fb"
      unitRef="U001">9000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_07e02951a3324084bb8c5dab1b08fac6"
      unitRef="U001">42000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_5a02f62a76004c7d95a020a24f6395d1"
      unitRef="U001">11000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_a26daa0fd446463483e876b61d8e928a"
      unitRef="U001">135000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_7b32faf6337444e7aa069b15dd99dc40"
      unitRef="U001">20000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_b347ad0a163149feaaa4d16784619014"
      unitRef="U001">4545000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_96fb4f1be0964dac8cd64d8c8d6c2294"
      unitRef="U001">1408000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_2737440e4d9e413c8752a008c23808af"
      unitRef="U001">777000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_637847c2597e4722ace6fd22cb967287"
      unitRef="U001">181000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_f872286958d448aeae4cce973aeb908f"
      unitRef="U001">3768000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_2b07f7cd37d84c61bc4a6e36269bbc48"
      unitRef="U001">1227000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_eb796532cc8f4596b6225478b3d73020"
      unitRef="U001">356000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_3fd468339b6146349fea7e594d7ce783"
      unitRef="U001">-527000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_ba867868c1954036a07230e278175732"
      unitRef="U001">4124000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_241f45a2bee846f8976db2e90ce4bea0"
      unitRef="U001">700000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20230101to20231231"
      decimals="2"
      id="Fact_383b03dc339f43d29e1ce09474115117"
      unitRef="U003">0.45</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20220101to20221231"
      decimals="2"
      id="Fact_379835254cf24f2db9e20b2e425ae215"
      unitRef="U003">0.15</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20230101to20231231"
      decimals="2"
      id="Fact_631b7260590b43398de1d380b9d7b007"
      unitRef="U003">0.45</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20220101to20221231"
      decimals="2"
      id="Fact_962d918866304a9790adef82a2e586cb"
      unitRef="U003">0.15</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20230101to20231231"
      decimals="0"
      id="Fact_402f0392d3cb44c6aaa2c1b5da197474"
      unitRef="U002">8339658</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20220101to20221231"
      decimals="0"
      id="Fact_0f45aede24b44883b951a35cfefbff3d"
      unitRef="U002">8363390</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20230101to20231231"
      decimals="0"
      id="Fact_d0fbbfddd1674b59b68bdfe62e3264b9"
      unitRef="U002">8369976</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20220101to20221231"
      decimals="0"
      id="Fact_7e972c3e79ba45399ca472fe9f24999f"
      unitRef="U002">8394567</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_85fc4bb858164699b7313f44927f237c"
      unitRef="U001">3768000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_1d7cca7c317d4d6e8f85878234246092"
      unitRef="U001">1227000</us-gaap:NetIncomeLoss>
    <us-gaap:CostOfGoodsAndServicesSoldDepreciation
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_7fba22dd269d4e3eb0195361e623e156"
      unitRef="U001">1199000</us-gaap:CostOfGoodsAndServicesSoldDepreciation>
    <us-gaap:CostOfGoodsAndServicesSoldDepreciation
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_df63e39a41e544c4b31a55ae15bca6b1"
      unitRef="U001">1201000</us-gaap:CostOfGoodsAndServicesSoldDepreciation>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_93ce2c82545a4bc9a6556aa367c0c78a"
      unitRef="U001">3427000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_111a1acc20d048a8a9b4edada4772169"
      unitRef="U001">3230000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_c2f9e710d85c4959b06cd8881511b27a"
      unitRef="U001">0</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_44ab692cc8314b13883651b03fab644b"
      unitRef="U001">-9000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:ShareBasedCompensation
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_78abc6ca96504c7cae642400dce60163"
      unitRef="U001">770000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_dd0cfa01a0ff45aab517cf34697a1a00"
      unitRef="U001">1060000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_13bf8767a27347968a0e6a9b1df52595"
      unitRef="U001">-902000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_3ab74abdca474c66af54608c5a905f62"
      unitRef="U001">-10000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_5424d672fafd4e0cbf3d8e43738c6a53"
      unitRef="U001">-107000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_d02809ab88bb40f780cdf4fc913e8732"
      unitRef="U001">-244000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_2b3c5c939c0e4e0a9bc7cd7e07bde41d"
      unitRef="U001">-231000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_8f745eb069a742b1bbeaa8e9f0d5868f"
      unitRef="U001">328000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_e1b12d02b76b49f9ae6dbbd882f67f23"
      unitRef="U001">202000</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_3d204800cd09444ba41f79a01ffac441"
      unitRef="U001">-210000</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_a1d6c388298f4cea90482b12f2a31243"
      unitRef="U001">12000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_87cd2d4748a943dd92bf9c5df1c549a9"
      unitRef="U001">-34000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_3b8d107a13144373b9158e674fe267e8"
      unitRef="U001">-752000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_de592280c00842dab87e5b262cdc5402"
      unitRef="U001">-1739000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_6d90beee338c4b75bc65d0a916bae4a2"
      unitRef="U001">462000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_acc332000d81458788c8cad6ef6e4d6a"
      unitRef="U001">-1527000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_b07de2bf45024c2c96f88c926ee61398"
      unitRef="U001">-84000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_89f2cb1668a34b10906c36180e708ca5"
      unitRef="U001">-905000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_8c1d4c5b88f248d1976c66f46695329b"
      unitRef="U001">45000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_fe027eebaf2548c08b1163aa40ebfe24"
      unitRef="U001">0</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_ca465b7e6362489a916541a213f9f713"
      unitRef="U001">-3598000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_4ded6a8148484c438d6515dd2bf7be58"
      unitRef="U001">-3362000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_b57f8c8a5a784e5caf8fffc2e41be5c9"
      unitRef="U001">769000</us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities>
    <us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_1b9703cfee6242028bb9f73eee52130f"
      unitRef="U001">-73000</us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_b9383d22bdcf4327a5027fabff2c19b4"
      unitRef="U001">4537000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_6d6f38e91d224dbbbd59daa9457077d0"
      unitRef="U001">1154000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_2c4bd63a5b314d568d5765a381f87499"
      unitRef="U001">576000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_3cfd344850ff44349e00ec5e107a2865"
      unitRef="U001">635000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfProductiveAssets
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_d89c28af61cd43aaba4b0e5761eeb181"
      unitRef="U001">0</us-gaap:ProceedsFromSaleOfProductiveAssets>
    <us-gaap:ProceedsFromSaleOfProductiveAssets
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_a10d8f3126ed4fa8bcc1513a2e79b222"
      unitRef="U001">10000</us-gaap:ProceedsFromSaleOfProductiveAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_d6563e6f947d4a87b2566658682c4bd9"
      unitRef="U001">-576000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_974d0f8d58194488a39f8be8bc388da4"
      unitRef="U001">-625000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_513ed6a156d648fba4247ddc0603a2ca"
      unitRef="U001">0</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_35171912c57d4a64b93b9eb1fe2c07e7"
      unitRef="U001">359000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_7c72ebeb7bab418f82e1729c1dcf391e"
      unitRef="U001">15000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_c7b4e43c6d144ac18f3ba8577fb5818a"
      unitRef="U001">14000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_1f4d203a9d274cce9893c5e9edba34af"
      unitRef="U001">11000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_703e690d56af44c2b2dd990a16c047ba"
      unitRef="U001">1798000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_e73ead8fcfb84eb78d5ae75c1eac28be"
      unitRef="U001">-26000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_62e8cba5fcc74e4ba75ad550874bac05"
      unitRef="U001">-2171000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_abcab2775b754319bbca4fdddbb12fdf"
      unitRef="U001">249000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_9617385612854727ad3e1d0abc60c67a"
      unitRef="U001">-538000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_e4673cd3911447288b80bec770e7092c"
      unitRef="U001">4184000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_44e30c5c7e1143eb9d9ae919449341ef"
      unitRef="U001">-2180000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20221231"
      decimals="-3"
      id="Fact_62a7c8459a9643c3b15fcf6a82702204"
      unitRef="U001">7975000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20211231"
      decimals="-3"
      id="Fact_56c34c9ef3f044f588c6776892b01afd"
      unitRef="U001">10155000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20231231"
      decimals="-3"
      id="Fact_057acdba41c34ab8b661edbf198183df"
      unitRef="U001">12159000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20221231"
      decimals="-3"
      id="Fact_df588460d1ea4d81808cf3e58265d75e"
      unitRef="U001">7975000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_fce0a3ea12f8439e9f009dffb6d0c691"
      unitRef="U001">0</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_69d807ea3d86412693139a82be484e2b"
      unitRef="U001">15000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_56e823bbfe8f412e8ad4d6f3079634e9"
      unitRef="U001">984000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_87df72d78359466194f5a485106bb965"
      unitRef="U001">-430000</us-gaap:IncomeTaxesPaidNet>
    <tlfa:NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_b3781610032340478f592f1c083c9cd0"
      unitRef="U001">3396000</tlfa:NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <tlfa:NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_3b77ceab09f2431cbcc7411385c47de2"
      unitRef="U001">3884000</tlfa:NoncashOrPartNoncashTransactionsRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:SharesOutstanding
      contextRef="c20211231"
      decimals="0"
      id="Fact_0eb72c3bfe514f7dae4bfcc8151e6088"
      unitRef="U002">8547335</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_1cb1715020f6489eb11eede6b04cacc0"
      unitRef="U001">24000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_68c1124b966e4195a8789ad35ea663cc"
      unitRef="U001">3959000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_4570bf978a8442c19fabbb0a0fb3a4ec"
      unitRef="U001">-9773000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_525ce822be0441c88f1c2c8956b2d836"
      unitRef="U001">58664000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_08c437b8b8a840a9b1a2fe46631bf5a7"
      unitRef="U001">-1373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231"
      decimals="-3"
      id="Fact_0e92b5d42ba740b084e65f7005a8d94e"
      unitRef="U001">51501000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_ce26ad8e4787467cb43d95f70cd967f6"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_1563256a6a124f3894460794005ff322"
      unitRef="U001">1060000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_80db54fdc6234369ade02a304acea4d5"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_7f347ce6e162430e83a21bbdfa40a5bf"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_a0cdc378778645388cd7a9b4ab89bdc0"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_0bb83eb4da2b4a38ba3009f70fd2870b"
      unitRef="U001">1060000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_33c196595e944d5eb6ff12a5c07be625"
      unitRef="U002">140277</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_34786df5da6f4eaaabca74cd92dab42b"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_d7671f2157dd4f15b62b5be6cd09b262"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_117baa91b0ad4e26850219625f262c49"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_ee5f3b3827b64868a6ef178b3957ef1e"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_768e4563fc5f4ccda809f0bb6381cb39"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_19d6d8302db142c09f3f6c0a9c2da916"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_db4194d7e11342ea829c2bb22ae0c976"
      unitRef="U002">34362</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_02420ab7c1b240d1b46a402aee91f791"
      unitRef="U001">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_b86570131e774b61a48e84e0c7557f82"
      unitRef="U001">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_b7a6c60553084699a497f37e5c1f7e55"
      unitRef="U001">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_a8c4a01786e041aba7a3e3318eb5ef82"
      unitRef="U001">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_7e65ad04dc9140b9a12e191611146231"
      unitRef="U001">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_3374c53ed40c4ad6a75919b31549a8d6"
      unitRef="U001">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_76da40d4dd674e49acea67036b95c80e"
      unitRef="U002">360100</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_18e8c6cefd4b45c2830c72d5f974bec3"
      unitRef="U001">1000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_75c730584b8244d3946feb7b94d74436"
      unitRef="U001">1797000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_d5643dfe3eeb46218b50971d8525a6a4"
      unitRef="U001">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_bd0f4c057ad04ac39517ac2656bf6916"
      unitRef="U001">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_911f1a70451f41a3ad9529bf42a91200"
      unitRef="U001">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_4c2820dc1c104a1e8f7483cd1d0d25f5"
      unitRef="U001">1798000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_411f6d34f6d84d949d0864e72ab17ecb"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_c4269bc55ed94a7682ef367d8e62e60c"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_f448f60fb57441eab734d7134e5cdd6b"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_b31a061aa8194d5593efe3905a286aae"
      unitRef="U001">1227000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_640694b659a342b0954f9fa533c0a9f4"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_3464df03c4d64e7a837c7b6e85363f58"
      unitRef="U001">1227000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_65887d55c68e4a419ae94c09f8371147"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_8bb06aba746d4439a31d4e57f68298e2"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_388d1d06ad6f49228c3232c5b0d4e1e3"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_e34d582d75304c5f95d8a7eed951b52a"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_c1141e97c03045fd894a8e887b985f89"
      unitRef="U001">-527000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_cbefbad27446425096715af2ac277ca1"
      unitRef="U001">-527000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="c20221231"
      decimals="0"
      id="Fact_206b00f4566d4128a7567dc4e7ce27f4"
      unitRef="U002">8293150</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_f08a90ccb4874a09bbf581778aa5779f"
      unitRef="U001">23000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_4e1545420ead4313a53248bfe5aa0820"
      unitRef="U001">3222000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_8fd6ff74e35d41b0bcc5b2515c3bd85b"
      unitRef="U001">-9773000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_9b58a46e4ef744aa90157df1211ca994"
      unitRef="U001">59891000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_5436c989786349d2b5a08cc97bb9377a"
      unitRef="U001">-1900000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231"
      decimals="-3"
      id="Fact_003212342ee749d0bb90def58bfe7097"
      unitRef="U001">51463000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_b6be9c5ff10540268d334fdde9867e0b"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_cdffce660c094e07932b94bee986635a"
      unitRef="U001">770000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_197ab3a6e1034f14a609fb8104ba2599"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_3e6f99a4eb884531afa754797eaff13b"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_a1a13755a1da48ba944d4c441ea779db"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_dc899b628f9c41328f824bcb41e668f4"
      unitRef="U001">770000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_7b92e1ff498a49c7acbfc5b150396b69"
      unitRef="U002">108796</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_75604c086ee94de8a79ed2c340919821"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_b0a095fa202143518184730c3eb00927"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_3fc4f619e9464477a3b6a9177e132fd2"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_bcbb0d3373574f91983c56784051b785"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_374d98be5ed94103ad52c5151988358f"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_adba5fc63fdb4f8b889dbafbee0b1573"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_c5979ad5d6074d0fa5abe09938fcbd68"
      unitRef="U002">2701</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_d5ed941506244e46b070f2b2cdc10530"
      unitRef="U001">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_4039bbf315dc4376a61e43a7e09e46f8"
      unitRef="U001">11000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_48d8ee08112f4298a821dea3a02942eb"
      unitRef="U001">11000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_7b0471a753014f199deba4f4eed67a25"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_66786e895acc4998bac40b3fd4c4e7c8"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_0646d67c65914f8a94a26bee05ebf8d7"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_d7ed93e19b0745da9a4aacfab1cd221b"
      unitRef="U001">3768000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_de85d516748148418363526361c5478b"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_6f252f35dafa4829a77ea2f6120e7ef0"
      unitRef="U001">3768000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_5489b4baba8646d6b84d6959db0e7844"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_1b8677a048bf438cbc7e36462525c039"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_9e3124ffcc0947b2a62443f0bccbea88"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_aa7e527d45ea4b7898d083b1f9a1749b"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_c56f916e5a604e8bb7a2ae31f1c39808"
      unitRef="U001">356000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_f2bbd7f0f7cc46d491b79b9a876de4e9"
      unitRef="U001">356000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="c20231231"
      decimals="0"
      id="Fact_7e002552071b4bdaaaccfe6660896bd3"
      unitRef="U002">8399245</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_bfe8c1acd35945f29955977d997e2d5d"
      unitRef="U001">23000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_fda2a94b42f54dd98e2a79552189e230"
      unitRef="U001">3981000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_1cf00575a69a4343994c6602d2489dec"
      unitRef="U001">-9773000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_3b8390b2dd504c96aaaf56be5f480f85"
      unitRef="U001">63659000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_ee7446d4bd3449ce85d9d6953d7a155a"
      unitRef="U001">-1544000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231"
      decimals="-3"
      id="Fact_229a2553224a46d381a26a1b57726d12"
      unitRef="U001">56346000</us-gaap:StockholdersEquity>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="c20230101to20231231"
      id="Text_99ac89c3380f4399b85fa6bfe612d27e">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1.&#160; DESCRIPTION OF BUSINESS&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Tandy Leather Factory, Inc. (&#x201c;TLF,&#x201d; &#x201c;we,&#x201d; &#x201c;our,&#x201d; &#x201c;us,&#x201d; the &#x201c;Company,&#x201d; &#x201c;Tandy,&#x201d; or &#x201c;Tandy Leather&#x201d; mean Tandy Leather Factory, Inc., together with its subsidiaries)
          is one of the world&#x2019;s largest specialty retailers of leather and leathercraft-related items.&#160; Founded in 1919 in Fort Worth, Texas, the Company introduced leathercrafting to millions of American and later Canadian and other international
          customers and has built a track record as the trusted source of quality leather, tools, hardware, supplies, kits and teaching materials for leatherworkers everywhere.&#160; Today, our mission remains to build on our legacy of inspiring the timeless
          art and trade of leatherworking.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;What differentiates Tandy from the competition is our high brand awareness and strong brand equity and loyalty, our network of retail stores that provides
          convenience, a high-touch customer service experience, and a hub for the local leathercrafting community, and our 100-year heritage.&#160; We believe that this combination of qualities is unique to Tandy and gives the brand competitive advantages that
          are difficult for others to replicate.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;We sell our products
          primarily through company-owned stores and through orders generated from our global websites, and through direct account representatives in our commercial division.&#160; We produce leather lace, cut leather pieces and most of the do-it-yourself kits
          that are sold in our stores and on our websites.&#160; We also offer production services to our business customers such as cutting (&#x201c;clicking&#x201d;) and splitting and some assembly.&#160;&#160; We maintain our principal offices at 1900 Southeast Loop 820, Fort
          Worth, Texas 76140.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Company currently operates a total of 102
          retail stores.&#160; There are 91 stores in the United States (&#x201c;U.S.&#x201d;), ten stores in Canada and one store in Spain.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;The Company&#x2019;s common shares currently trade on Nasdaq Capital Market under the symbol &#x201c;TLF.&#x201d;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-align: justify; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt;&lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt;"&gt;We operate as a &lt;span style="-sec-ix-hidden:Fact_48fc0c1dc93f4cba8024c854b02a1b0e"&gt;&lt;span style="-sec-ix-hidden:Fact_084ff30487d54523a598a9e14e78cfd0"&gt;single&lt;/span&gt;&lt;/span&gt;
          segment and report on a consolidated basis.&lt;br/&gt;
        &lt;/div&gt;
</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:NumberOfStores
      contextRef="c20231231"
      decimals="0"
      id="Fact_069d25df695a4ca2b1b0f6f0c6f14fe9"
      unitRef="U004">102</us-gaap:NumberOfStores>
    <us-gaap:NumberOfStores
      contextRef="c20231231_StatementGeographicalAxis_US"
      decimals="0"
      id="Fact_6ec4b6626e0a4ad9b05bfd427faa46c2"
      unitRef="U004">91</us-gaap:NumberOfStores>
    <us-gaap:NumberOfStores
      contextRef="c20231231_StatementGeographicalAxis_CA"
      decimals="INF"
      id="Fact_e26ce39213ad4971b4fe5b37f4210885"
      unitRef="U004">10</us-gaap:NumberOfStores>
    <us-gaap:NumberOfStores
      contextRef="c20231231_StatementGeographicalAxis_ES"
      decimals="INF"
      id="Fact_9a279aab611b44a780178cbb6b704495"
      unitRef="U004">1</us-gaap:NumberOfStores>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="c20230101to20231231"
      id="Text_24bc7b0b6b494d1f8c8fb54eaf848425">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2.&#160; SIGNIFICANT ACCOUNTING POLICIES&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Management estimates and reporting&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;The preparation of the Company&#x2019;s Consolidated Financial Statements in accordance with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;)
            requires the use of estimates that affect the reported value of assets, liabilities, revenues and expenses.&#160; These estimates are based on historical experience and various other factors that are believed to be reasonable under the
            circumstances, the results of which form the basis for the Company&#x2019;s conclusions.&#160; The Company continually evaluates the information used to make these estimates as the business and the economic environment changes.&#160; Actual results may differ
            from these estimates, and estimates are subject to change due to modifications in the underlying conditions or assumptions.&#160; The policies discussed below require estimates that contain a significant degree of judgement.&#160; The use of estimates is
            pervasive throughout the Consolidated Financial Statements, but the accounting policies and estimates considered most significant are as follows.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;  &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Principles of consolidation&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Our Consolidated Financial Statements include the accounts of Tandy Leather Factory, Inc. and its active wholly-owned subsidiaries, The Leather Factory, L.P. (a
          Texas limited partnership), Tandy Leather Company, L.P. (a Texas limited partnership), The Leather Factory of Canada, Ltd. (a Canadian corporation), and Tandy Leather Factory Espa&#xf1;a, S.L. (a Spanish corporation).&#160; All intercompany accounts and
          transactions have been eliminated in consolidation.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;br/&gt;
        &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; text-align: justify; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;span style="text-decoration: underline;"&gt;Deconsolidation of
              Foreign Subsidiaries&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; text-align: left;"&gt;&lt;span style="text-decoration: underline;"&gt; &lt;br/&gt;
            &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(33, 37, 41); font-style: normal; font-variant: normal; text-transform: none;"&gt;The UK and
            Australia entities were legally terminated in 2023 and as a result of the termination, we deconsolidated our UK and Australia entities and the impact of the deconsolidation resulted in a $0.5 million loss that is reported as part of &#x201c;Other, net&#x201d; on the consolidated statement of operations and comprehensive income.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left;"&gt;&#160;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Correction of an error in previously issued financial statements&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;
        &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="font-weight: bold;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-weight: normal; color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;The 2022 consolidated financial statements included an out of period adjustment that was the result of unreconciled inventory receipts for in-transit inventory, which were identified in the fourth quarter of
                  2022. We corrected misstatements in the first three quarters of fiscal year 2023 as disclosed in our 2022 10-K, we reduced inventory and accounts payable balances by approximately $0.9 million, and adjusted changes to inventory and accounts payable in the operating activities section of the consolidated statements of cash flows by the same
                  amount. There is no impact of this adjustment to the consolidated statements of operations and comprehensive income or retained earnings.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
              &lt;/span&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt; &lt;/div&gt;

&lt;div style="color: rgb(33, 37, 41); font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt; &lt;br/&gt;
            &lt;/span&gt;&lt;/div&gt;

&lt;div style="color: rgb(33, 37, 41); font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;"&gt;The Company considers investments with a maturity when purchased of three months or less to be cash equivalents.&#160; All
            credit card, debit card and electronic transfer transactions that process in less than ninety days including our T-Bills are classified as cash and cash equivalents.&lt;/div&gt;

&lt;div&gt;
          &lt;span style="font-weight: bold;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;
          &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Accounts receivable and expected credit losses&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-style: normal;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;"&gt;Our receivables primarily arise from the sale of merchandise to customers that have applied for and been granted
              credit.&#160; Accounts receivable are stated at amounts due, net of an allowance for doubtful accounts.&#160; Accounts receivable are generally due within 30 days of invoicing.&#160; Our accounts receivable balance as of December 31, 2023, December 31, 2022
              and January 1, 2022 was $0.3 million, $0.4
              million, and $0.6 million, respectively.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="font-weight: normal;"&gt;&lt;br/&gt;
              &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;"&gt;We estimate expected credit losses based on factors such as the composition of accounts receivable, the age of the
              accounts, historical bad debt experience, and our evaluation of the financial condition and past collection history of each customer.&#160; Management believes that the historical loss information it has compiled is a reasonable base on which to
              determine expected credit losses for trade receivables held at December 31, 2023, because the composition of the trade receivables at that date is consistent with that used in developing the historical credit-loss percentages (i.e., the
              similar risk characteristics of its customers and its credit practices have not changed significantly over time).&#160; Accordingly, the allowance for expected credit losses at December 31, 2023, December 31, 2022, and January 1, 2022 each totaled
              less than $0.1 million.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;
            &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;
          &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Foreign currency translation and transactions&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"&gt;Foreign currency translation adjustments arise from activities of our foreign
              subsidiaries.&#160; Results of operations are translated into U.S. dollars using the average exchange rates during the period, while assets and liabilities are translated using period-end exchange rates.&#160; Foreign currency translation adjustments
              are recorded in stockholders&#x2019; equity, net of tax.&#160; For the years ended December 31, 2023 and 2022, we recorded foreign currency translation gain of $0.4
              million and&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; loss adjustments of&lt;/span&gt; $0.5 million, respectively.&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify;"&gt; &lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;The
              deconsolidation of the UK and Australia entities resulted in a $0.5 million loss reclassification adjustment out of accumulated
              other comprehensive income (loss) which is reported net within the &#x201c;Foreign currently translation gain (loss), net&#x201d;.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;span style="font-weight: normal;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;Gains and losses resulting from foreign currency transactions are recorded in other, net within
                the statements of operations and comprehensive income.&lt;/span&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;
          &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;
          &lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Revenue recognition&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"&gt;Our revenue is earned from sales of merchandise and generally occurs via three methods: (1) at the store counter, (2) shipment of product
              generally via web sales, and (3) sales of product directly to commercial customers through our commercial account representatives.&#160; We recognize revenue when we satisfy the performance obligation of transferring control of product merchandise
              over to a customer. At the store counter, our performance obligation is met, and revenue is recognized when a sales transaction occurs with a customer.&#160; Our performance obligation for 2) and 3) are met when merchandise is shipped to a
              customer, and revenue is recognized when control passes to the customer.&#160; Shipping terms are normally free on board (&#x201c;FOB&#x201d;) shipping point and control passes when the merchandise is shipped to the customer.&#160; Sales tax and comparable foreign
              tax is excluded from net sales, while shipping charged to our customers is included in net sales.&#160; Net sales is based on the amount of consideration that we expect to receive, reduced by estimates for future merchandise returns.&#160; As of
              December 31, 2022, January 1, 2023, and December 31, 2023, we had received approximately $0.3 million, $0.3 million, and $0.3 million in
              credit card payments that had not shipped as of the end of the year and this was recorded in deferred revenue under other liabilities on the Balance Sheet.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;The sales return allowance included in accrued expense and other liabilities was &lt;/span&gt;$0.2 million, $0.1 million, and $0.2 million as of December 31, 2023 and 2022 and January 1, 2022 respectively.&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&#160; The
                estimated value of merchandise expected to be returned included in other current assets was less than $0.1 million&lt;/span&gt; as
              of December 31, 2023 and 2022 and January 1, 2022. &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: justify; white-space: normal; word-spacing: 0px; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt;We record a gift card
            liability for the unfulfilled performance obligation on the date we issue a gift card to a customer.&#160; We record revenue and reduce the gift card liability as the customer redeems the gift card.&#160; In addition, for gift card breakage, we recognize
            a proportionate amount for the expected unredeemed gift cards over the expected customer redemption period, which is one year. We
            include our gift card liability in accrued expenses and other liabilities.&#160; On January 1, 2023, the opening balance of the gift card liability was $0.3
            million.&#160; During 2023, we issued $0.5 million of gift cards, and $0.5 million of gift cards were redeemed and recognized as revenue. At December 31, 2023, our gift card liability balance was $0.2 million. On January 1, 2022 and December 31, 2022, the gift card liability was $0.4 and $0.3 million respectively. &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-variant: normal; text-transform: none;"&gt;&lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;span style="font-style: normal; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Disaggregated revenue&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;span style="font-style: italic;"&gt; &lt;br/&gt;
            &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;
         &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;In the following table, revenue for the years ended December 31, 2023 and 2022 is disaggregated by geographic areas as follows:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;br/&gt;
                  &lt;/span&gt; &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;br/&gt;
                  &lt;/span&gt; &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;67,696&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;71,665&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Canada&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;7,301&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;7,393&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;1,232&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;1,277&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net sales&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;76,229&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;80,335&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left;"&gt; &lt;br/&gt;
          &lt;/div&gt;

&lt;div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left;"&gt;Geographic sales information is based on the location where the order was fulfilled.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Discounts&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We offer six classes of customer discounts:&#160; 1)
          Retail, 2) Military/First Responder, 3) Business, 4) Commercial, 5) Commercial Pro, and 6) Employees. There are no other classes of discounts and any discounts given will fall into one of these six categories.&#160; Such discounts are not deemed to be variable consideration nor convey a material right to these customers since the discounted pricing they receive in a
          discount class is not incremental to others within the same class and there is no retrospective impact of such discounts.&#160; As a result, sales are reported after deduction of discounts at the point of sale.&#160; We do not pay slotting fees or make
          other payments to resellers.&lt;br/&gt;
        &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;Operating&#160;expense&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Operating expenses include all selling, general and administrative costs, including wages and benefits, rent and occupancy costs, depreciation, advertising, store
          operating expenses, outbound freight charges (to ship merchandise to customers), and corporate office costs.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Property and equipment, net of accumulated depreciation&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Property and equipment are stated at cost.&#160; Depreciation is computed using the straight-line method over the estimated useful lives of the assets, which are &lt;span style="-sec-ix-hidden:Fact_5c4f4734e8fa4f9ab6d9ff25cd28ad7b"&gt;three&lt;/span&gt; to ten years for equipment and
          machinery, &lt;span style="-sec-ix-hidden:Fact_af8ec3d5fde44ae9a32304dda2a30171"&gt;seven&lt;/span&gt; to fifteen years
          for furniture and fixtures, five years for vehicles, and forty years for buildings and related improvements.&#160; Leasehold improvements are amortized over the lesser of the life of the lease or the useful life of the asset.&#160; Repairs and maintenance
          costs are expensed as incurred.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Inventory&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;Inventory is stated at the lower of first-in, first-out (&#x201c;FIFO&#x201d;) cost or net realizable value, and the FIFO layers are maintained at the location level.&#160; Finished
          goods held for sale include the cost of merchandise purchases, the costs to bring the merchandise to our Texas distribution center, warehousing and handling expenditures, and distributing and delivering merchandise to our stores.&#160; These costs
          include depreciation of long-lived assets utilized in acquiring, warehousing and distributing inventory.&#160; Assembled inventory including raw materials and work-in-process is valued on a first-in, first-out basis using full absorption accounting
          which includes material, labor, and other applicable assembly overhead. &#160;&lt;/div&gt;

&lt;div&gt;Carrying values of inventory are analyzed and, to the extent that the cost of inventory exceeds the net realizable value, provisions are made to reduce the carrying amount of the inventory.
        &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;We regularly review all inventory items to determine if
          there are (i) damaged goods (e.g., for leather, excessive scars or damage from ultra-violet (&#x201c;UV&#x201d;) light), (ii) items that need to be removed from our product line (e.g., slow-moving items, inability of a supplier to provide items of acceptable
          quality or quantity, and to maintain freshness in the product line) and (iii) pricing actions that need to be taken to adequately value our inventory at the lower of cost or net realizable value.&#160; Since the determination of net realizable value
          of inventory involves both estimation and judgement with regard to market values and reasonable costs to sell, differences in these estimates could result in ultimate valuations that differ from the recorded asset.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;The majority of inventory purchases and commitments are made in U.S. dollars in order to limit the Company&#x2019;s exposure to foreign currency fluctuations.&#160; Goods
          shipped to us are recorded as inventory owned by us when the risk of loss shifts to us from the supplier.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Inventory is physically counted twice annually in the Texas distribution center.&#160; At the store level, inventory is physically counted each
          quarter.&#160; Inventory is then adjusted in our accounting system to reflect actual count results.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;  &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;  &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Leases&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;"&gt;We lease certain real estate for our retail
            store locations and warehouse equipment for our Texas distribution center, both under long-term lease agreements.&#160; We determine if an arrangement is a lease at inception and recognize right-of-use (&#x201c;ROU&#x201d;) assets and lease liabilities at
            commencement date based on the present value of the lease payments over the lease term.&#160; We elected not to record leases with an initial term of 12 months or less on the balance sheet for all our asset classes. The depreciable life of related
            leasehold improvements is based on the shorter of the useful life or the lease term.&lt;/span&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;"&gt;For operating leases, the present value of
            our lease payments may include: (1) rental payments adjusted for inflation or market rates, and (2) lease terms with options to renew the lease or options to purchase leased equipment, when it is reasonably certain we will exercise such an
            option.&#160; The exercise of lease renewal or purchase option is generally at our discretion.&#160; Payments based on a change in an index or market rate are not considered in the determination of lease payments for purposes of measuring the related
            lease liability.&#160; We discount lease payments using our incremental borrowing rate based on information available as of the measurement date.&lt;/span&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;We recognize rent expense related to our operating leases on a straight-line basis over the lease term.&#160; Rent expense is recorded in operating expenses.&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;For finance leases, our right-of-use assets are amortized on a straight-line basis over the earlier of the useful life of the right-of-use asset or the end of the
          lease term with rent expense recorded to operating expenses.&#160; We adjust the lease liability to reflect lease payments made during the period and interest incurred on the lease liability using the effective interest method. The remaining asset
          balance in our finance lease is only residual value and only an insignificant interest expense of less than $100 dollars was incurred
          and is recorded on the consolidated statements of operations and comprehensive income.&lt;br/&gt;
          &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;None of our lease agreements contain material residual value guarantees or material restrictive covenants.&#160; We do not have any contingent rental payment agreements.
          On September 8, 2022, we entered into a concession agreement for our store on the Fort Liberty (formerly Fort Bragg) military base in which the concession payment was based on a sliding scale percentage of sales.&#160; At the end of November, 2023, we
          closed that store. We have no sublease agreements and no lease agreements in which we are named as a lessor.&#160; Refer to Note 4, Leases for further discussion of the Company&#x2019;s leases.&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Impairment of long-lived assets&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We evaluate long-lived assets on a quarterly basis to identify events or changes in circumstances (&#x201c;triggering events&#x201d;) that indicate the carrying value of certain
          assets may not be recoverable.&#160; Upon the occurrence of a triggering event, right-of-use (&#x201c;ROU&#x201d;) lease assets, property and equipment and definite-lived intangible assets are reviewed for impairment and an impairment loss is recorded in the period
          in which it is determined that the carrying amount of the assets is not recoverable.&#160; The determination of recoverability is made based upon the estimated undiscounted future net cash flows of assets grouped at the lowest level for which there
          are identifiable cash flows independent of the cash flows of other groups of assets with such cash flows to be realized over the estimated remaining useful life of the primary asset within the asset group.&#160; The Company determined the lowest level
          of identifiable cash flows that are independent of other asset groups to be primarily at the individual store level.&#160; If the estimated undiscounted future net cash flows for a given store are less than the carrying amount of the related store
          assets, an impairment loss is determined by comparing the estimated fair value with the carrying value of the related assets.&#160; The impairment loss is then allocated across the asset group&#x2019;s major classifications which in this case are operating
          lease assets and property and equipment. Triggering events at the store level could include material declines in operational and financial performance or planned changes in the use of assets, such as store relocation or store closure.&#160; This
          evaluation requires management to make judgements relating to future cash flows, growth rates and economic and market conditions.&#160; The fair value of an asset group is estimated using a discounted cash flow valuation method.&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For the years ended December 31, 2023 and 2022, no
          impairment expense was recognized.&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Earnings per share&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic earnings per share (&#x201c;EPS&#x201d;) are computed based on the weighted average number of common shares outstanding during the period.&#160; Diluted EPS includes additional
          common shares that would have been outstanding if potential common shares with a dilutive effect, such as stock awards from the Company&#x2019;s restricted stock plan, had been issued.&#160; Anti-dilutive securities represent potentially dilutive securities
          which are excluded from the computation of diluted EPS as their impact would be anti-dilutive.&#160; &lt;span style="font-family: 'Times New Roman'; font-size: 10pt; color: rgb(0, 0, 0);"&gt;Diluted EPS is computed using the treasury stock method.&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(in thousands, except share data)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;&lt;sup style="vertical-align: text-top; line-height: 1; font-size: smaller;"&gt;&#160;&lt;/sup&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023 &lt;/span&gt;&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Numerator:&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net income&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,768&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,227&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Denominator:&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic weighted-average common shares outstanding&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,339,658&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,363,390&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Dilutive effect of service-based restricted stock awards granted to Board of Directors under the Plan&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,218&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,735&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;
                &lt;div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); text-align: left;"&gt;Dilutive effect of service-based restricted stock awards granted to employees under the Plan&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;27,100&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;22,442&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted weighted-average common shares outstanding&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;8,369,976&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;8,394,567&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;(1) For the years ended December 31, 2023 and 2022, there were 65,075 and 90,748 shares,
          respectively, excluded from the diluted EPS calculation because the impact of their assumed vesting would be anti-dilutive.
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For additional disclosures regarding restricted stock awards and employee stock options, see Note 10, &lt;span style="font-style: italic;"&gt;Stockholders&#x2019; Equity &#x2013;
            Equity Compensation Plans&lt;/span&gt;.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: bold; text-align: justify; text-transform: none;"&gt;&lt;span style="text-decoration: underline;"&gt;Other intangible
              assets&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; text-align: justify; font-size: 10pt;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Our intangible assets and related accumulated amortization relate to trademarks and copyrights that are definite-lived intangibles and are
            subject to amortization.&#160; The weighted average amortization period is&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; 15
              years for trademarks and copyrights.&#160; Amortization expense related to other intangible assets was less than $0.01 million in
              each of 2023 and 2022 and was recorded in operating expenses.&#160; Based on the current amount of intangible assets subject to amortization, we estimate amortization expense to be less than $0.01 million annually over the next five years. Our &lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x201c;&lt;/span&gt;Other intangible assets&#x201d; was fully
              amortized as of December 31, 2023 and is now included in &#x201c;Other assets&#x201d; on the face of the balance sheet.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="font-style: normal; text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Fair value of financial instruments&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We measure fair value as an exit price, which is the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between
          market participants.&#160; As a basis for considering such assumptions, accounting standards establish a three-tier fair value hierarchy, which prioritizes the inputs used in the valuation methodologies in measuring fair value:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;
                &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;Level 1 &#x2013; observable inputs that reflect quoted prices in active markets for identical assets or liabilities.&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;
                &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;Level 2 &#x2013; significant observable inputs other than quoted prices in active markets for similar assets and liabilities, such as quoted prices for identical or
                  similar assets or liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;
                &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;Level 3 &#x2013; significant unobservable inputs reflecting our own assumptions, consistent with reasonably available assumptions made by other market participants.&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify;"&gt; &lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;"&gt;Classification of the financial asset or
            liability within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement. &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
          &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Our principal financial instruments consist of our money market investment or T-Bills maturing less than 90 days, accounts receivable, and
            accounts payable.&#160; As of December 31, 2023 and 2022, the carrying values of our financial instruments, included in our Consolidated Balance Sheets, approximated their fair values.&#160; There were no transfers into or out of Levels 1, 2 and 3 during the years ended December 31, 2023 and 2022.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Income taxes&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Income taxes are estimated for each jurisdiction in which we operate.&#160; This involves assessing current tax exposure together with temporary differences resulting
          from differing treatment of items for tax and financial statement accounting purposes.&#160; Any resulting deferred tax assets are evaluated for recoverability based on estimated future taxable income.&#160; To the extent it is more-likely-than-not that
          all or a portion of a deferred tax asset will not be realized, a valuation allowance is recorded.&#160; Our evaluation regarding whether a valuation allowance is required or should be adjusted also considers, among other things, the nature, frequency,
          and severity of recent losses, forecasts of future profitability and the duration of statutory carryforward periods.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify;"&gt;
           &lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Deferred tax assets and liabilities
            are measured using the enacted tax rates in effect in the years when those temporary differences are expected to reverse.&#160; The effect on deferred taxes from a change in tax rate is recognized through continuing operations in the period that
            includes the enactment date of the change.&#160; Changes in tax laws and rates could affect recorded deferred tax assets and liabilities in the future. &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;A tax benefit from an uncertain tax position may be recognized when it is more-likely-than-not that the position will be sustained upon examination, including
          resolutions of any related appeals or litigation processes, based on the technical merits.&#160; Income tax positions must meet a more-likely-than-not recognition threshold to be recognized.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgement changes as a result of the evaluation of new information not
          previously available.&#160; Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax liabilities.&#160; These differences will be reflected as
          increases or decreases to income tax expense and the effective tax rate in the period in which new information becomes available.&#160; We recognize interest and/or penalties related to all tax positions in income tax expense. To the extent that
          accrued interest and penalties do not ultimately become payable, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision in the period that such determination is made.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;We may be subject to periodic audits by the Internal
          Revenue Service and other taxing authorities.&#160; These audits may challenge certain of our tax positions, such as the timing and amount of deductions and allocation of taxable income to the various jurisdictions.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Stock-based compensation&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Company&#x2019;s stock-based compensation relates primarily to restricted stock unit (&#x201c;RSU&#x201d;) awards.&#160; Accounting guidance requires measurement and recognition of
          compensation expense at an amount equal to the grant date fair value.&#160; Compensation expense is recognized for service-based stock awards on a straight-line basis or ratably over the requisite service period, based on the closing price of the
          Company&#x2019;s stock on the date of grant.&#160; The service-based awards typically vest ratably over the requisite service period, provided that the participant is employed on the vesting date.&#160; Compensation expense is reduced by actual forfeitures as
          they occur over the requisite service period of the awards.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Performance-based RSUs vest, if at all, upon the Company satisfying certain performance targets.&#160; The Company records compensation expense for awards with a
          performance condition when it is probable that the condition will be achieved.&#160; If the Company determines it is not probable a performance condition will be achieved, no compensation expense is recognized.&#160; If the Company changes its assessment
          in a subsequent period and concludes it is probable a performance condition will be achieved, the Company will recognize compensation expense ratably between the period of the change in assessment through the expected date of satisfying the
          performance condition for vesting.&#160; If the Company subsequently assesses that it is no longer probable that a performance condition will be achieved, the accumulated expense that has been previously recognized will be reversed.&#160; The compensation
          expense ultimately recognized, if any, related to performance-based awards will equal the grant date fair value based on the number of shares for which the performance condition has been satisfied.&#160; We issue shares from authorized shares upon the
          lapsing of vesting restrictions on RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Comprehensive income&lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Comprehensive income includes net income and certain other items that are recorded directly to stockholders&#x2019; equity.&#160; The Company&#x2019;s only source of other
            comprehensive income is foreign currency translation adjustments, and those adjustments are presented net of tax.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Shipping and handling costs&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;Costs to ship products from our stores to our customers are included in operating expenses on the
              Consolidated Statements of Operations and Comprehensive Income.&#160; Total costs were $3.2 million and $3.5 million for the years ended December 31, 2023, and 2022, respectively.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Advertising&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Advertising costs include the cost of print, digital, direct mail, community events, trade shows, and our e-commerce platform.&#160; Advertising costs are expensed as
          incurred.&#160; Total advertising expense was $1.1 million and $1.2 million in 2023 and 2022, respectively.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Company did not adopt any new accounting guidance that was applicable for the year ended December 31, 2023.&lt;/div&gt;
</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="c20230101to20231231"
      id="Text_eeded4e988e046239bdf73d183544e80">
&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Management estimates and reporting&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;The preparation of the Company&#x2019;s Consolidated Financial Statements in accordance with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;)
            requires the use of estimates that affect the reported value of assets, liabilities, revenues and expenses.&#160; These estimates are based on historical experience and various other factors that are believed to be reasonable under the
            circumstances, the results of which form the basis for the Company&#x2019;s conclusions.&#160; The Company continually evaluates the information used to make these estimates as the business and the economic environment changes.&#160; Actual results may differ
            from these estimates, and estimates are subject to change due to modifications in the underlying conditions or assumptions.&#160; The policies discussed below require estimates that contain a significant degree of judgement.&#160; The use of estimates is
            pervasive throughout the Consolidated Financial Statements, but the accounting policies and estimates considered most significant are as follows.&lt;/div&gt;
</us-gaap:UseOfEstimates>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_87f6d85e241141fea312fecb4edc9313">
&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Principles of consolidation&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Our Consolidated Financial Statements include the accounts of Tandy Leather Factory, Inc. and its active wholly-owned subsidiaries, The Leather Factory, L.P. (a
          Texas limited partnership), Tandy Leather Company, L.P. (a Texas limited partnership), The Leather Factory of Canada, Ltd. (a Canadian corporation), and Tandy Leather Factory Espa&#xf1;a, S.L. (a Spanish corporation).&#160; All intercompany accounts and
          transactions have been eliminated in consolidation.&lt;/div&gt;
</us-gaap:ConsolidationPolicyTextBlock>
    <tlfa:DeconsolidationOfForeignSubsidiariesPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_a4d7bdbb22f44ddebf273934c455abe2">
&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; text-align: justify; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;span style="text-decoration: underline;"&gt;Deconsolidation of
              Foreign Subsidiaries&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; text-align: left;"&gt;&lt;span style="text-decoration: underline;"&gt; &lt;br/&gt;
            &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(33, 37, 41); font-style: normal; font-variant: normal; text-transform: none;"&gt;The UK and
            Australia entities were legally terminated in 2023 and as a result of the termination, we deconsolidated our UK and Australia entities and the impact of the deconsolidation resulted in a $0.5 million loss that is reported as part of &#x201c;Other, net&#x201d; on the consolidated statement of operations and comprehensive income.&lt;/div&gt;
</tlfa:DeconsolidationOfForeignSubsidiariesPolicyTextBlock>
    <us-gaap:DeconsolidationGainOrLossAmount
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_25b6c00b06ea4c5ea29810204fd7cfb7"
      unitRef="U001">-500000</us-gaap:DeconsolidationGainOrLossAmount>
    <us-gaap:ComparabilityOfPriorYearFinancialData
      contextRef="c20230101to20231231"
      id="Text_73a334b087b84f99b2aaa3d2b9196851">
&lt;div&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Correction of an error in previously issued financial statements&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;
        &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="font-weight: bold;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-weight: normal; color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;The 2022 consolidated financial statements included an out of period adjustment that was the result of unreconciled inventory receipts for in-transit inventory, which were identified in the fourth quarter of
                  2022. We corrected misstatements in the first three quarters of fiscal year 2023 as disclosed in our 2022 10-K, we reduced inventory and accounts payable balances by approximately $0.9 million, and adjusted changes to inventory and accounts payable in the operating activities section of the consolidated statements of cash flows by the same
                  amount. There is no impact of this adjustment to the consolidated statements of operations and comprehensive income or retained earnings.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
              &lt;/span&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt; &lt;/div&gt;
</us-gaap:ComparabilityOfPriorYearFinancialData>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="c20231231_RestatementAxis_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember"
      decimals="-5"
      id="Fact_e0457cc4851f473080f3d6c1142fd3f0"
      unitRef="U001">-900000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:InventoryNet
      contextRef="c20231231_RestatementAxis_RevisionOfPriorPeriodErrorCorrectionAdjustmentMember"
      decimals="-5"
      id="Fact_30fdceb55fe3420f87d4719a5e8fb742"
      unitRef="U001">-900000</us-gaap:InventoryNet>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_073101a9ae144921b5ccb3c5bbf587d7">
&lt;div style="color: rgb(33, 37, 41); font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="color: rgb(33, 37, 41); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;"&gt;The Company considers investments with a maturity when purchased of three months or less to be cash equivalents.&#160; All
            credit card, debit card and electronic transfer transactions that process in less than ninety days including our T-Bills are classified as cash and cash equivalents.&lt;/div&gt;
</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy
      contextRef="c20230101to20231231"
      id="Text_c87e7b5004e747d8b895030832df094d">
&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;
          &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Accounts receivable and expected credit losses&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-style: normal;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;"&gt;Our receivables primarily arise from the sale of merchandise to customers that have applied for and been granted
              credit.&#160; Accounts receivable are stated at amounts due, net of an allowance for doubtful accounts.&#160; Accounts receivable are generally due within 30 days of invoicing.&#160; Our accounts receivable balance as of December 31, 2023, December 31, 2022
              and January 1, 2022 was $0.3 million, $0.4
              million, and $0.6 million, respectively.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="font-weight: normal;"&gt;&lt;br/&gt;
              &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; text-align: justify;"&gt;We estimate expected credit losses based on factors such as the composition of accounts receivable, the age of the
              accounts, historical bad debt experience, and our evaluation of the financial condition and past collection history of each customer.&#160; Management believes that the historical loss information it has compiled is a reasonable base on which to
              determine expected credit losses for trade receivables held at December 31, 2023, because the composition of the trade receivables at that date is consistent with that used in developing the historical credit-loss percentages (i.e., the
              similar risk characteristics of its customers and its credit practices have not changed significantly over time).&#160; Accordingly, the allowance for expected credit losses at December 31, 2023, December 31, 2022, and January 1, 2022 each totaled
              less than $0.1 million.&lt;/div&gt;
</us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20231231"
      decimals="-5"
      id="Fact_f00dbd14b1244cceb6eb79cd04e9a1fc"
      unitRef="U001">300000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20221231"
      decimals="-5"
      id="Fact_af93dcfe0fa84a7e854d5a3b8d9c552b"
      unitRef="U001">400000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20211231"
      decimals="-5"
      id="Fact_43df49ab35e142da8d19feeffb6de367"
      unitRef="U001">600000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="c20211231_RangeAxis_MaximumMember"
      decimals="-5"
      id="Fact_f0593d2ec6294770a3af51695aa0c078"
      unitRef="U001">100000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="c20231231_RangeAxis_MaximumMember"
      decimals="-5"
      id="Fact_b651bcce4e814473bc41d4b4e99ade9c"
      unitRef="U001">100000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="c20221231_RangeAxis_MaximumMember"
      decimals="-5"
      id="Fact_a2b5d602b4b348f693e00095bbe72f2e"
      unitRef="U001">100000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_d5b39dc6e93e4273812d11437813372d">
&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;
          &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Foreign currency translation and transactions&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"&gt;Foreign currency translation adjustments arise from activities of our foreign
              subsidiaries.&#160; Results of operations are translated into U.S. dollars using the average exchange rates during the period, while assets and liabilities are translated using period-end exchange rates.&#160; Foreign currency translation adjustments
              are recorded in stockholders&#x2019; equity, net of tax.&#160; For the years ended December 31, 2023 and 2022, we recorded foreign currency translation gain of $0.4
              million and&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; loss adjustments of&lt;/span&gt; $0.5 million, respectively.&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify;"&gt; &lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;The
              deconsolidation of the UK and Australia entities resulted in a $0.5 million loss reclassification adjustment out of accumulated
              other comprehensive income (loss) which is reported net within the &#x201c;Foreign currently translation gain (loss), net&#x201d;.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;span style="font-weight: normal;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;Gains and losses resulting from foreign currency transactions are recorded in other, net within
                the statements of operations and comprehensive income.&lt;/span&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;
</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="c20230101to20231231_RangeAxis_MaximumMember"
      decimals="-5"
      id="Fact_767743da71f5402c99e5efa9497a3336"
      unitRef="U001">400000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="c20220101to20221231_RangeAxis_MaximumMember"
      decimals="-5"
      id="Fact_1cadd265da70466c9ea2a9bd49cd6a39"
      unitRef="U001">-500000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:DeconsolidationGainOrLossAmount
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_c9081308bd21452db635c28c5b88bfe3"
      unitRef="U001">-500000</us-gaap:DeconsolidationGainOrLossAmount>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_d540d3f0a0234d1dae56fad89330def7">
&lt;div&gt;
          &lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Revenue recognition&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal;"&gt;Our revenue is earned from sales of merchandise and generally occurs via three methods: (1) at the store counter, (2) shipment of product
              generally via web sales, and (3) sales of product directly to commercial customers through our commercial account representatives.&#160; We recognize revenue when we satisfy the performance obligation of transferring control of product merchandise
              over to a customer. At the store counter, our performance obligation is met, and revenue is recognized when a sales transaction occurs with a customer.&#160; Our performance obligation for 2) and 3) are met when merchandise is shipped to a
              customer, and revenue is recognized when control passes to the customer.&#160; Shipping terms are normally free on board (&#x201c;FOB&#x201d;) shipping point and control passes when the merchandise is shipped to the customer.&#160; Sales tax and comparable foreign
              tax is excluded from net sales, while shipping charged to our customers is included in net sales.&#160; Net sales is based on the amount of consideration that we expect to receive, reduced by estimates for future merchandise returns.&#160; As of
              December 31, 2022, January 1, 2023, and December 31, 2023, we had received approximately $0.3 million, $0.3 million, and $0.3 million in
              credit card payments that had not shipped as of the end of the year and this was recorded in deferred revenue under other liabilities on the Balance Sheet.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
            &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;The sales return allowance included in accrued expense and other liabilities was &lt;/span&gt;$0.2 million, $0.1 million, and $0.2 million as of December 31, 2023 and 2022 and January 1, 2022 respectively.&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&#160; The
                estimated value of merchandise expected to be returned included in other current assets was less than $0.1 million&lt;/span&gt; as
              of December 31, 2023 and 2022 and January 1, 2022. &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: justify; white-space: normal; word-spacing: 0px; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt;We record a gift card
            liability for the unfulfilled performance obligation on the date we issue a gift card to a customer.&#160; We record revenue and reduce the gift card liability as the customer redeems the gift card.&#160; In addition, for gift card breakage, we recognize
            a proportionate amount for the expected unredeemed gift cards over the expected customer redemption period, which is one year. We
            include our gift card liability in accrued expenses and other liabilities.&#160; On January 1, 2023, the opening balance of the gift card liability was $0.3
            million.&#160; During 2023, we issued $0.5 million of gift cards, and $0.5 million of gift cards were redeemed and recognized as revenue. At December 31, 2023, our gift card liability balance was $0.2 million. On January 1, 2022 and December 31, 2022, the gift card liability was $0.4 and $0.3 million respectively. &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-variant: normal; text-transform: none;"&gt;&lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;span style="font-style: normal; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Disaggregated revenue&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;span style="font-style: italic;"&gt; &lt;br/&gt;
            &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;
         &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;In the following table, revenue for the years ended December 31, 2023 and 2022 is disaggregated by geographic areas as follows:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;br/&gt;
                  &lt;/span&gt; &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;br/&gt;
                  &lt;/span&gt; &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;67,696&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;71,665&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Canada&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;7,301&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;7,393&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;1,232&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;1,277&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net sales&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;76,229&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;80,335&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left;"&gt; &lt;br/&gt;
          &lt;/div&gt;

&lt;div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left;"&gt;Geographic sales information is based on the location where the order was fulfilled.&lt;/div&gt;
</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:DeferredRevenue
      contextRef="c20231231_BalanceSheetLocationAxis_OtherLiabilitiesMember"
      decimals="-5"
      id="Fact_bbc1838d25be4d17872208857e8b0b5a"
      unitRef="U001">300000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="c20221231_BalanceSheetLocationAxis_OtherLiabilitiesMember"
      decimals="-5"
      id="Fact_70c9880f95dc4e859f941cc75a13f021"
      unitRef="U001">300000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="c20211231_BalanceSheetLocationAxis_OtherLiabilitiesMember"
      decimals="-5"
      id="Fact_137ea4960c0f450eaf972bc116a150ea"
      unitRef="U001">300000</us-gaap:DeferredRevenue>
    <us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
      contextRef="c20231231"
      decimals="-5"
      id="Fact_d4b9628c4b424a2a82b3509c22567675"
      unitRef="U001">200000</us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss>
    <us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
      contextRef="c20221231"
      decimals="-5"
      id="Fact_149c3a113c124901917e8ef3f21e3e13"
      unitRef="U001">100000</us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss>
    <us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
      contextRef="c20211231"
      decimals="-5"
      id="Fact_de4564ef74cd4d5686daabb044c30450"
      unitRef="U001">200000</us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss>
    <tlfa:InventoryMerchandiseExpectedToBeReturned
      contextRef="c20231231_RangeAxis_MaximumMember"
      decimals="-5"
      id="Fact_ada32bb4fd8b456cb07ea32b8145e44f"
      unitRef="U001">100000</tlfa:InventoryMerchandiseExpectedToBeReturned>
    <tlfa:InventoryMerchandiseExpectedToBeReturned
      contextRef="c20221231_RangeAxis_MaximumMember"
      decimals="-5"
      id="Fact_a51c18261fc7444abce682c3f6dfd070"
      unitRef="U001">100000</tlfa:InventoryMerchandiseExpectedToBeReturned>
    <tlfa:InventoryMerchandiseExpectedToBeReturned
      contextRef="c20211231_RangeAxis_MaximumMember"
      decimals="-5"
      id="Fact_46e847b0ec2a40918751f6b329b8a842"
      unitRef="U001">100000</tlfa:InventoryMerchandiseExpectedToBeReturned>
    <tlfa:GiftCardRedemptionPeriod
      contextRef="c20230101to20231231"
      id="Fact_308a07b1d3ed41a893e0574c3d542086">P1Y</tlfa:GiftCardRedemptionPeriod>
    <us-gaap:ContractWithCustomerLiability
      contextRef="c20221231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"
      decimals="-5"
      id="Fact_c594dd8763e54a218970a0533c50134a"
      unitRef="U001">300000</us-gaap:ContractWithCustomerLiability>
    <tlfa:ContractWithCustomerLiabilityForGiftCardsIssued
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_d5aabd82eaf74165b7e1254ab542b1e5"
      unitRef="U001">500000</tlfa:ContractWithCustomerLiabilityForGiftCardsIssued>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_c3389c45f5de46fb8ec55ed97fdc45a3"
      unitRef="U001">500000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiability
      contextRef="c20231231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"
      decimals="-5"
      id="Fact_58b808c6696e40a699b5b7af32f6ce68"
      unitRef="U001">200000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="c20211231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"
      decimals="-5"
      id="Fact_96d066c52ccd4523b370855e25835332"
      unitRef="U001">400000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="c20221231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"
      decimals="-5"
      id="Fact_1f0c56ebb61c4896bb2861b56e96d5dd"
      unitRef="U001">300000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_6007e43be8914a6d91dd5b77289f49a7">
&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;
         &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;In the following table, revenue for the years ended December 31, 2023 and 2022 is disaggregated by geographic areas as follows:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;br/&gt;
                  &lt;/span&gt; &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;br/&gt;
                  &lt;/span&gt; &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;67,696&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;71,665&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Canada&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;7,301&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;7,393&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;1,232&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;1,277&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net sales&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;76,229&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;80,335&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_7b37647f18b94a87945ba8ece9660e44"
      unitRef="U001">67696000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_b4411df6cb2940b9b036a7ca64177132"
      unitRef="U001">71665000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_StatementGeographicalAxis_CA"
      decimals="-3"
      id="Fact_9e8cf334b00c4164aa0111ba5a917962"
      unitRef="U001">7301000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_StatementGeographicalAxis_CA"
      decimals="-3"
      id="Fact_3968f71230b1402c8941196fcea68bcf"
      unitRef="U001">7393000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_StatementGeographicalAxis_OtherCountriesMember"
      decimals="-3"
      id="Fact_6f207a662c6844a39caa629ecea824f6"
      unitRef="U001">1232000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_StatementGeographicalAxis_OtherCountriesMember"
      decimals="-3"
      id="Fact_4318fe3897114ec083e916ed5eaa6d45"
      unitRef="U001">1277000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_a61d43e5ddc24ae0b95ce9c423ef9536"
      unitRef="U001">76229000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_4b6333cec4374d0d876db47356cce3a8"
      unitRef="U001">80335000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <tlfa:RevenueRecognitionDiscountsPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_1ec238e1b2324374b27e5a805e9cbae7">
&lt;div style="font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Discounts&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We offer six classes of customer discounts:&#160; 1)
          Retail, 2) Military/First Responder, 3) Business, 4) Commercial, 5) Commercial Pro, and 6) Employees. There are no other classes of discounts and any discounts given will fall into one of these six categories.&#160; Such discounts are not deemed to be variable consideration nor convey a material right to these customers since the discounted pricing they receive in a
          discount class is not incremental to others within the same class and there is no retrospective impact of such discounts.&#160; As a result, sales are reported after deduction of discounts at the point of sale.&#160; We do not pay slotting fees or make
          other payments to resellers.&lt;br/&gt;
        &lt;/div&gt;
</tlfa:RevenueRecognitionDiscountsPolicyTextBlock>
    <tlfa:NumberOfClassesOfCustomerDiscounts
      contextRef="c20230101to20231231"
      decimals="INF"
      id="Fact_65fcc3f9d18f4bc2b8260dc91fe7b812"
      unitRef="U006">6</tlfa:NumberOfClassesOfCustomerDiscounts>
    <tlfa:NumberOfClassesOfCustomerDiscounts
      contextRef="c20230101to20231231"
      decimals="INF"
      id="Fact_fa34692aee4e4b91a5b255984d595487"
      unitRef="U006">6</tlfa:NumberOfClassesOfCustomerDiscounts>
    <us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_5dc36e480e0046258028feac0452b4ae">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;Operating&#160;expense&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Operating expenses include all selling, general and administrative costs, including wages and benefits, rent and occupancy costs, depreciation, advertising, store
          operating expenses, outbound freight charges (to ship merchandise to customers), and corporate office costs.&lt;/div&gt;
</us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_8a9ba2ada80443f1b33396fc5d08c09c">
&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Property and equipment, net of accumulated depreciation&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Property and equipment are stated at cost.&#160; Depreciation is computed using the straight-line method over the estimated useful lives of the assets, which are &lt;span style="-sec-ix-hidden:Fact_5c4f4734e8fa4f9ab6d9ff25cd28ad7b"&gt;three&lt;/span&gt; to ten years for equipment and
          machinery, &lt;span style="-sec-ix-hidden:Fact_af8ec3d5fde44ae9a32304dda2a30171"&gt;seven&lt;/span&gt; to fifteen years
          for furniture and fixtures, five years for vehicles, and forty years for buildings and related improvements.&#160; Leasehold improvements are amortized over the lesser of the life of the lease or the useful life of the asset.&#160; Repairs and maintenance
          costs are expensed as incurred.&lt;/div&gt;
</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MaximumMember"
      id="Fact_aba63aaceabe40608b7d9949c5956a7b">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MaximumMember"
      id="Fact_a4c328c6a80d4175a5db5e084fc5ed5c">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember"
      id="Fact_23fd0915c78a43309cfd35f9c28574a7">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_BuildingAndBuildingImprovementsMember"
      id="Fact_cfc703e1b3654ddb8df58233d0ad4bef">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_6dfc427eeaa94c46b2b8d2c033c3a143">
&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Inventory&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;Inventory is stated at the lower of first-in, first-out (&#x201c;FIFO&#x201d;) cost or net realizable value, and the FIFO layers are maintained at the location level.&#160; Finished
          goods held for sale include the cost of merchandise purchases, the costs to bring the merchandise to our Texas distribution center, warehousing and handling expenditures, and distributing and delivering merchandise to our stores.&#160; These costs
          include depreciation of long-lived assets utilized in acquiring, warehousing and distributing inventory.&#160; Assembled inventory including raw materials and work-in-process is valued on a first-in, first-out basis using full absorption accounting
          which includes material, labor, and other applicable assembly overhead. &#160;&lt;/div&gt;

&lt;div&gt;Carrying values of inventory are analyzed and, to the extent that the cost of inventory exceeds the net realizable value, provisions are made to reduce the carrying amount of the inventory.
        &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman'; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;We regularly review all inventory items to determine if
          there are (i) damaged goods (e.g., for leather, excessive scars or damage from ultra-violet (&#x201c;UV&#x201d;) light), (ii) items that need to be removed from our product line (e.g., slow-moving items, inability of a supplier to provide items of acceptable
          quality or quantity, and to maintain freshness in the product line) and (iii) pricing actions that need to be taken to adequately value our inventory at the lower of cost or net realizable value.&#160; Since the determination of net realizable value
          of inventory involves both estimation and judgement with regard to market values and reasonable costs to sell, differences in these estimates could result in ultimate valuations that differ from the recorded asset.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;The majority of inventory purchases and commitments are made in U.S. dollars in order to limit the Company&#x2019;s exposure to foreign currency fluctuations.&#160; Goods
          shipped to us are recorded as inventory owned by us when the risk of loss shifts to us from the supplier.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Inventory is physically counted twice annually in the Texas distribution center.&#160; At the store level, inventory is physically counted each
          quarter.&#160; Inventory is then adjusted in our accounting system to reflect actual count results.&lt;/div&gt;
</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_451efcfafc9649d3ad6046a5bf1782ff">
&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;  &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Leases&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;"&gt;We lease certain real estate for our retail
            store locations and warehouse equipment for our Texas distribution center, both under long-term lease agreements.&#160; We determine if an arrangement is a lease at inception and recognize right-of-use (&#x201c;ROU&#x201d;) assets and lease liabilities at
            commencement date based on the present value of the lease payments over the lease term.&#160; We elected not to record leases with an initial term of 12 months or less on the balance sheet for all our asset classes. The depreciable life of related
            leasehold improvements is based on the shorter of the useful life or the lease term.&lt;/span&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;"&gt;For operating leases, the present value of
            our lease payments may include: (1) rental payments adjusted for inflation or market rates, and (2) lease terms with options to renew the lease or options to purchase leased equipment, when it is reasonably certain we will exercise such an
            option.&#160; The exercise of lease renewal or purchase option is generally at our discretion.&#160; Payments based on a change in an index or market rate are not considered in the determination of lease payments for purposes of measuring the related
            lease liability.&#160; We discount lease payments using our incremental borrowing rate based on information available as of the measurement date.&lt;/span&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;We recognize rent expense related to our operating leases on a straight-line basis over the lease term.&#160; Rent expense is recorded in operating expenses.&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;For finance leases, our right-of-use assets are amortized on a straight-line basis over the earlier of the useful life of the right-of-use asset or the end of the
          lease term with rent expense recorded to operating expenses.&#160; We adjust the lease liability to reflect lease payments made during the period and interest incurred on the lease liability using the effective interest method. The remaining asset
          balance in our finance lease is only residual value and only an insignificant interest expense of less than $100 dollars was incurred
          and is recorded on the consolidated statements of operations and comprehensive income.&lt;br/&gt;
          &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-size: 10pt; font-family: 'Times New Roman';"&gt;None of our lease agreements contain material residual value guarantees or material restrictive covenants.&#160; We do not have any contingent rental payment agreements.
          On September 8, 2022, we entered into a concession agreement for our store on the Fort Liberty (formerly Fort Bragg) military base in which the concession payment was based on a sliding scale percentage of sales.&#160; At the end of November, 2023, we
          closed that store. We have no sublease agreements and no lease agreements in which we are named as a lessor.&#160; Refer to Note 4, Leases for further discussion of the Company&#x2019;s leases.&lt;br/&gt;
        &lt;/div&gt;
</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="c20230101to20231231_RangeAxis_MaximumMember"
      decimals="-3"
      id="Fact_63795d32ade7468fba4a211aed5fcaaa"
      unitRef="U001">100000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_b9ed0c0715e042778bb8325d2461696f">
&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Impairment of long-lived assets&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We evaluate long-lived assets on a quarterly basis to identify events or changes in circumstances (&#x201c;triggering events&#x201d;) that indicate the carrying value of certain
          assets may not be recoverable.&#160; Upon the occurrence of a triggering event, right-of-use (&#x201c;ROU&#x201d;) lease assets, property and equipment and definite-lived intangible assets are reviewed for impairment and an impairment loss is recorded in the period
          in which it is determined that the carrying amount of the assets is not recoverable.&#160; The determination of recoverability is made based upon the estimated undiscounted future net cash flows of assets grouped at the lowest level for which there
          are identifiable cash flows independent of the cash flows of other groups of assets with such cash flows to be realized over the estimated remaining useful life of the primary asset within the asset group.&#160; The Company determined the lowest level
          of identifiable cash flows that are independent of other asset groups to be primarily at the individual store level.&#160; If the estimated undiscounted future net cash flows for a given store are less than the carrying amount of the related store
          assets, an impairment loss is determined by comparing the estimated fair value with the carrying value of the related assets.&#160; The impairment loss is then allocated across the asset group&#x2019;s major classifications which in this case are operating
          lease assets and property and equipment. Triggering events at the store level could include material declines in operational and financial performance or planned changes in the use of assets, such as store relocation or store closure.&#160; This
          evaluation requires management to make judgements relating to future cash flows, growth rates and economic and market conditions.&#160; The fair value of an asset group is estimated using a discounted cash flow valuation method.&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For the years ended December 31, 2023 and 2022, no
          impairment expense was recognized.&lt;br/&gt;
        &lt;/div&gt;
</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_990d3a3968c649d1bc11f220d4081920"
      unitRef="U001">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_1803fda22be84730a4c604e27e6f57af"
      unitRef="U001">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_93471391294040c1a63efeab231f88ec">
&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Earnings per share&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic earnings per share (&#x201c;EPS&#x201d;) are computed based on the weighted average number of common shares outstanding during the period.&#160; Diluted EPS includes additional
          common shares that would have been outstanding if potential common shares with a dilutive effect, such as stock awards from the Company&#x2019;s restricted stock plan, had been issued.&#160; Anti-dilutive securities represent potentially dilutive securities
          which are excluded from the computation of diluted EPS as their impact would be anti-dilutive.&#160; &lt;span style="font-family: 'Times New Roman'; font-size: 10pt; color: rgb(0, 0, 0);"&gt;Diluted EPS is computed using the treasury stock method.&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(in thousands, except share data)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;&lt;sup style="vertical-align: text-top; line-height: 1; font-size: smaller;"&gt;&#160;&lt;/sup&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023 &lt;/span&gt;&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Numerator:&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net income&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,768&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,227&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Denominator:&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic weighted-average common shares outstanding&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,339,658&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,363,390&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Dilutive effect of service-based restricted stock awards granted to Board of Directors under the Plan&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,218&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,735&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;
                &lt;div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); text-align: left;"&gt;Dilutive effect of service-based restricted stock awards granted to employees under the Plan&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;27,100&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;22,442&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted weighted-average common shares outstanding&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;8,369,976&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;8,394,567&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;(1) For the years ended December 31, 2023 and 2022, there were 65,075 and 90,748 shares,
          respectively, excluded from the diluted EPS calculation because the impact of their assumed vesting would be anti-dilutive.
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For additional disclosures regarding restricted stock awards and employee stock options, see Note 10, &lt;span style="font-style: italic;"&gt;Stockholders&#x2019; Equity &#x2013;
            Equity Compensation Plans&lt;/span&gt;.&lt;/div&gt;
</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_41bc520499e24174a82e4af851a40a12">&lt;span style="font-family: 'Times New Roman'; font-size: 10pt; color: rgb(0, 0, 0);"&gt;Diluted EPS is computed using the treasury stock method.&lt;/span&gt;
&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(in thousands, except share data)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;&lt;sup style="vertical-align: text-top; line-height: 1; font-size: smaller;"&gt;&#160;&lt;/sup&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023 &lt;/span&gt;&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Numerator:&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net income&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,768&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,227&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; font-family: 'Times New Roman'; font-size: 10pt; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Denominator:&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic weighted-average common shares outstanding&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,339,658&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,363,390&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Dilutive effect of service-based restricted stock awards granted to Board of Directors under the Plan&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,218&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,735&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt;" valign="bottom"&gt;
                &lt;div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); text-align: left;"&gt;Dilutive effect of service-based restricted stock awards granted to employees under the Plan&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;27,100&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;22,442&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted weighted-average common shares outstanding&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;8,369,976&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;8,394,567&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;(1) For the years ended December 31, 2023 and 2022, there were 65,075 and 90,748 shares,
          respectively, excluded from the diluted EPS calculation because the impact of their assumed vesting would be anti-dilutive.
        &lt;/div&gt;
</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_4ec8663e4dcf4082813211b1a01c5d2a"
      unitRef="U001">3768000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_ff1898a55372465ba9093ae4f37d1c0d"
      unitRef="U001">1227000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20230101to20231231"
      decimals="0"
      id="Fact_5071ea73c763433fb4d860bd5a65b10a"
      unitRef="U002">8339658</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20220101to20221231"
      decimals="0"
      id="Fact_6732701e0f7445938fbbdd947b42d5bb"
      unitRef="U002">8363390</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember"
      decimals="0"
      id="Fact_6cdfe11d126d4d1e8ef4e43a122aea7e"
      unitRef="U002">3218</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20220101to20221231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember"
      decimals="0"
      id="Fact_37be379fe1374d12a515ceb410149b30"
      unitRef="U002">8735</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"
      decimals="0"
      id="Fact_8df56d5cd4bf4ea989c12015a0670a4f"
      unitRef="U002">27100</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20220101to20221231_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"
      decimals="0"
      id="Fact_5dcc0f8de60c4e1bbeb75cb11d297bdc"
      unitRef="U002">22442</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20230101to20231231"
      decimals="0"
      id="Fact_f8ad39189f7643f7aa93d73a4950f192"
      unitRef="U002">8369976</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20220101to20221231"
      decimals="0"
      id="Fact_0f93f93a199c462a913650dd69b6cca3"
      unitRef="U002">8394567</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares
      contextRef="c20230101to20231231"
      decimals="0"
      id="Fact_e089b28029da4092aac40ba3c37d61de"
      unitRef="U002">65075</us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares>
    <us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares
      contextRef="c20220101to20221231"
      decimals="0"
      id="Fact_d6cf2ecaacb34471b8ca2813e221b626"
      unitRef="U002">90748</us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares>
    <us-gaap:IntangibleAssetsFiniteLivedPolicy
      contextRef="c20230101to20231231"
      id="Text_65fe5579168144feac79ecbb9707e0f9">
&lt;div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: bold; text-align: justify; text-transform: none;"&gt;&lt;span style="text-decoration: underline;"&gt;Other intangible
              assets&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; text-align: justify; font-size: 10pt;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Our intangible assets and related accumulated amortization relate to trademarks and copyrights that are definite-lived intangibles and are
            subject to amortization.&#160; The weighted average amortization period is&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; 15
              years for trademarks and copyrights.&#160; Amortization expense related to other intangible assets was less than $0.01 million in
              each of 2023 and 2022 and was recorded in operating expenses.&#160; Based on the current amount of intangible assets subject to amortization, we estimate amortization expense to be less than $0.01 million annually over the next five years. Our &lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x201c;&lt;/span&gt;Other intangible assets&#x201d; was fully
              amortized as of December 31, 2023 and is now included in &#x201c;Other assets&#x201d; on the face of the balance sheet.&lt;/span&gt;&lt;/div&gt;
</us-gaap:IntangibleAssetsFiniteLivedPolicy>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="c20230101to20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_IntellectualPropertyMember"
      id="Fact_68372c572c1b4741913446552b8a97c6">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="c20230101to20231231_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_e61f606200ac43fdbd9759e9d0a2154a"
      unitRef="U001">10000.00</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="c20220101to20221231_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_98844eb5ed614ee9b2087f69b11b563c"
      unitRef="U001">10000.00</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="c20231231_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_c2d426cd76a14795819b90bf47d8fe84"
      unitRef="U001">10000.00</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="c20231231_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_7d3814e8ea8c46edb92b7aecb3bcc1be"
      unitRef="U001">10000.00</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="c20231231_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_4b4eb927ab374fb1b2883f8965f091c0"
      unitRef="U001">10000.00</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="c20231231_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_240c97f7a8854b5f9859215d3aeca678"
      unitRef="U001">10000.00</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="c20231231_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_0394c09484e6418e99035f368d0f9ade"
      unitRef="U001">10000.00</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="c20230101to20231231"
      id="Text_29c665059477421bb2b38c2644a69acf">
&lt;div style="font-style: normal; text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Fair value of financial instruments&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We measure fair value as an exit price, which is the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between
          market participants.&#160; As a basis for considering such assumptions, accounting standards establish a three-tier fair value hierarchy, which prioritizes the inputs used in the valuation methodologies in measuring fair value:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;
                &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;Level 1 &#x2013; observable inputs that reflect quoted prices in active markets for identical assets or liabilities.&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;
                &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;Level 2 &#x2013; significant observable inputs other than quoted prices in active markets for similar assets and liabilities, such as quoted prices for identical or
                  similar assets or liabilities in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-size: 10pt; font-family: 'Times New Roman'; width: 100%; color: rgb(0, 0, 0); text-align: left;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 0pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;
                &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;Level 3 &#x2013; significant unobservable inputs reflecting our own assumptions, consistent with reasonably available assumptions made by other market participants.&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify;"&gt; &lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-transform: none;"&gt;Classification of the financial asset or
            liability within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement. &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
          &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Our principal financial instruments consist of our money market investment or T-Bills maturing less than 90 days, accounts receivable, and
            accounts payable.&#160; As of December 31, 2023 and 2022, the carrying values of our financial instruments, included in our Consolidated Balance Sheets, approximated their fair values.&#160; There were no transfers into or out of Levels 1, 2 and 3 during the years ended December 31, 2023 and 2022.&lt;/div&gt;
</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
      contextRef="c20220101to20221231"
      decimals="-6"
      id="Fact_85a8cbcf924b434694305cf28b687085"
      unitRef="U001">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
      contextRef="c20230101to20231231"
      decimals="-6"
      id="Fact_31e33d30ba6948f1851417f8a6984f12"
      unitRef="U001">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_d11872f749fd4ab4abc6a1e71772bc36">
&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Income taxes&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Income taxes are estimated for each jurisdiction in which we operate.&#160; This involves assessing current tax exposure together with temporary differences resulting
          from differing treatment of items for tax and financial statement accounting purposes.&#160; Any resulting deferred tax assets are evaluated for recoverability based on estimated future taxable income.&#160; To the extent it is more-likely-than-not that
          all or a portion of a deferred tax asset will not be realized, a valuation allowance is recorded.&#160; Our evaluation regarding whether a valuation allowance is required or should be adjusted also considers, among other things, the nature, frequency,
          and severity of recent losses, forecasts of future profitability and the duration of statutory carryforward periods.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify;"&gt;
           &lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Deferred tax assets and liabilities
            are measured using the enacted tax rates in effect in the years when those temporary differences are expected to reverse.&#160; The effect on deferred taxes from a change in tax rate is recognized through continuing operations in the period that
            includes the enactment date of the change.&#160; Changes in tax laws and rates could affect recorded deferred tax assets and liabilities in the future. &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;A tax benefit from an uncertain tax position may be recognized when it is more-likely-than-not that the position will be sustained upon examination, including
          resolutions of any related appeals or litigation processes, based on the technical merits.&#160; Income tax positions must meet a more-likely-than-not recognition threshold to be recognized.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgement changes as a result of the evaluation of new information not
          previously available.&#160; Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax liabilities.&#160; These differences will be reflected as
          increases or decreases to income tax expense and the effective tax rate in the period in which new information becomes available.&#160; We recognize interest and/or penalties related to all tax positions in income tax expense. To the extent that
          accrued interest and penalties do not ultimately become payable, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision in the period that such determination is made.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;We may be subject to periodic audits by the Internal
          Revenue Service and other taxing authorities.&#160; These audits may challenge certain of our tax positions, such as the timing and amount of deductions and allocation of taxable income to the various jurisdictions.&lt;/div&gt;
</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="c20230101to20231231"
      id="Text_a6f036f90cd44ce2aadfd18584cc69c4">
&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Stock-based compensation&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Company&#x2019;s stock-based compensation relates primarily to restricted stock unit (&#x201c;RSU&#x201d;) awards.&#160; Accounting guidance requires measurement and recognition of
          compensation expense at an amount equal to the grant date fair value.&#160; Compensation expense is recognized for service-based stock awards on a straight-line basis or ratably over the requisite service period, based on the closing price of the
          Company&#x2019;s stock on the date of grant.&#160; The service-based awards typically vest ratably over the requisite service period, provided that the participant is employed on the vesting date.&#160; Compensation expense is reduced by actual forfeitures as
          they occur over the requisite service period of the awards.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Performance-based RSUs vest, if at all, upon the Company satisfying certain performance targets.&#160; The Company records compensation expense for awards with a
          performance condition when it is probable that the condition will be achieved.&#160; If the Company determines it is not probable a performance condition will be achieved, no compensation expense is recognized.&#160; If the Company changes its assessment
          in a subsequent period and concludes it is probable a performance condition will be achieved, the Company will recognize compensation expense ratably between the period of the change in assessment through the expected date of satisfying the
          performance condition for vesting.&#160; If the Company subsequently assesses that it is no longer probable that a performance condition will be achieved, the accumulated expense that has been previously recognized will be reversed.&#160; The compensation
          expense ultimately recognized, if any, related to performance-based awards will equal the grant date fair value based on the number of shares for which the performance condition has been satisfied.&#160; We issue shares from authorized shares upon the
          lapsing of vesting restrictions on RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards.&lt;/div&gt;
</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_8bd7b6fe35de4b8fa345f32590066d4a">
&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Comprehensive income&lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Comprehensive income includes net income and certain other items that are recorded directly to stockholders&#x2019; equity.&#160; The Company&#x2019;s only source of other
            comprehensive income is foreign currency translation adjustments, and those adjustments are presented net of tax.&lt;/div&gt;
</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <tlfa:ShippingAndHandlingCostsPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_8d44ce2702d7449fb3d72eb4dbe4fcc1">
&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Shipping and handling costs&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;Costs to ship products from our stores to our customers are included in operating expenses on the
              Consolidated Statements of Operations and Comprehensive Income.&#160; Total costs were $3.2 million and $3.5 million for the years ended December 31, 2023, and 2022, respectively.&lt;/div&gt;
</tlfa:ShippingAndHandlingCostsPolicyTextBlock>
    <us-gaap:OperatingCostsAndExpenses
      contextRef="c20230101to20231231_ProductOrServiceAxis_ShippingAndHandlingMember"
      decimals="-5"
      id="Fact_a0ede037e9554376a24cb89d7eb477b0"
      unitRef="U001">3200000</us-gaap:OperatingCostsAndExpenses>
    <us-gaap:OperatingCostsAndExpenses
      contextRef="c20220101to20221231_ProductOrServiceAxis_ShippingAndHandlingMember"
      decimals="-5"
      id="Fact_9ac918fca363418980121b0739519670"
      unitRef="U001">3500000</us-gaap:OperatingCostsAndExpenses>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_1abf28cfee3a434eaa701609e2e8e6e5">
&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Advertising&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Advertising costs include the cost of print, digital, direct mail, community events, trade shows, and our e-commerce platform.&#160; Advertising costs are expensed as
          incurred.&#160; Total advertising expense was $1.1 million and $1.2 million in 2023 and 2022, respectively.&lt;/div&gt;
</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_28392a2e543b41f284114671360f090b"
      unitRef="U001">1100000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="c20220101to20221231"
      decimals="-5"
      id="Fact_18e66c4076a0463791060194a00be08b"
      unitRef="U001">1200000</us-gaap:AdvertisingExpense>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_774b3aeee22c450f939fb17485a640c7">
&lt;div style="text-align: justify; font-style: normal; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Company did not adopt any new accounting guidance that was applicable for the year ended December 31, 2023.&lt;/div&gt;
</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock
      contextRef="c20230101to20231231"
      id="Text_dc2a37c6c5774ea5a9b8eff04f8ce95d">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;3.&#160; BALANCE SHEET COMPONENTS&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Inventory&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;On hand:&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Finished goods held for sale&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;33,350&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;35,234&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Raw materials and work in process&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;1,774&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;925&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Inventory in transit&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;2,869&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;2,068&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;TOTAL&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;37,993&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;38,227&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: bold; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Property
            and Equipment&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;Building&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;9,277&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;9,266&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Land&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;1,451&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;1,451&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Leasehold improvements&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;1,875&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;1,870&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Equipment and machinery&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;8,469&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;7,931&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Furniture and fixtures&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;7,452&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;7,471&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Vehicles&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;154&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;135&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;28,678&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;28,124&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Less: accumulated depreciation&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(18,131&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(16,962&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;TOTAL&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;10,547&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;11,162&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
            &lt;/div&gt;

&lt;div&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Our property and equipment, net,
                was located in the following countries: &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
              &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;United States&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;10,414&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;10,989&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;Canada&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;133&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;173&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;Spain&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;-&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;-&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;10,547&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;11,162&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
              &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Depreciation expense was $1.2 million and $1.2 million for the years ended December 31, 2023 and 2022, respectively.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Short-term Liabilities&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Accrued Expenses and Other Liabilities&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Accrued employee related costs&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;992&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;977&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Unearned gift card revenue&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;223&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;256&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Estimated returns&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;523&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;527&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Sales and payroll taxes payable&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;1,141&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;693&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Accrued vendor payables&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;261&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;228&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;TOTAL&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;3,140&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;2,681&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <srt:ScheduleOfCondensedBalanceSheetTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_e0ec7613c21e4c9fa33502617996e8cc">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Inventory&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;On hand:&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Finished goods held for sale&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;33,350&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;35,234&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Raw materials and work in process&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;1,774&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;925&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Inventory in transit&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;2,869&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;2,068&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;TOTAL&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;37,993&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;38,227&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: bold; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Property
            and Equipment&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;Building&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;9,277&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;9,266&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Land&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;1,451&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;1,451&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Leasehold improvements&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;1,875&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;1,870&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Equipment and machinery&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;8,469&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;7,931&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Furniture and fixtures&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;7,452&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;7,471&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Vehicles&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;154&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;135&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;28,678&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;28,124&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Less: accumulated depreciation&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(18,131&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(16,962&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;TOTAL&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;10,547&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;11,162&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
            &lt;/div&gt;

&lt;div&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Our property and equipment, net,
                was located in the following countries: &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
              &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;United States&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;10,414&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;10,989&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;Canada&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;133&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;173&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;Spain&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;-&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;-&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;10,547&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;11,162&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
              &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Depreciation expense was $1.2 million and $1.2 million for the years ended December 31, 2023 and 2022, respectively.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Short-term Liabilities&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Accrued Expenses and Other Liabilities&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Accrued employee related costs&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;992&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;977&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Unearned gift card revenue&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;223&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;256&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Estimated returns&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;523&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;527&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Sales and payroll taxes payable&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;1,141&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;693&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Accrued vendor payables&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;261&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;228&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;TOTAL&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;3,140&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;2,681&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</srt:ScheduleOfCondensedBalanceSheetTableTextBlock>
    <us-gaap:InventoryFinishedGoods
      contextRef="c20231231"
      decimals="-3"
      id="Fact_8b8f46ac2ebc4204a83a15b2944a6df4"
      unitRef="U001">33350000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="c20221231"
      decimals="-3"
      id="Fact_09249da0cfba4ca78e108426943a354a"
      unitRef="U001">35234000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryWorkInProcessAndRawMaterials
      contextRef="c20231231"
      decimals="-3"
      id="Fact_4c3bf962f00d4775aa084a793c011f34"
      unitRef="U001">1774000</us-gaap:InventoryWorkInProcessAndRawMaterials>
    <us-gaap:InventoryWorkInProcessAndRawMaterials
      contextRef="c20221231"
      decimals="-3"
      id="Fact_1c41a277fedd4b828586f6a36b1c6237"
      unitRef="U001">925000</us-gaap:InventoryWorkInProcessAndRawMaterials>
    <us-gaap:OtherInventoryInTransit
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ca9066ad162a4d44a828c1e1d1f037fc"
      unitRef="U001">2869000</us-gaap:OtherInventoryInTransit>
    <us-gaap:OtherInventoryInTransit
      contextRef="c20221231"
      decimals="-3"
      id="Fact_f17aaa2b293044b7960ccad4ef2b54e7"
      unitRef="U001">2068000</us-gaap:OtherInventoryInTransit>
    <us-gaap:InventoryNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_0c2ad6f60b33491c90665e1d807bc666"
      unitRef="U001">37993000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_60c4a1f908a04606828e36ad7f97f31d"
      unitRef="U001">38227000</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_BuildingMember"
      decimals="-3"
      id="Fact_319fe71b4f8b4e31b91819707a8c0af4"
      unitRef="U001">9277000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_BuildingMember"
      decimals="-3"
      id="Fact_135d30cdd9024ea2bfa4b84ce7a82972"
      unitRef="U001">9266000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_LandMember"
      decimals="-3"
      id="Fact_bb6e87bb76bc4f0e8d22a34cf03193dc"
      unitRef="U001">1451000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_LandMember"
      decimals="-3"
      id="Fact_774a8da3c7014a44a4d1adf38b8c3938"
      unitRef="U001">1451000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"
      decimals="-3"
      id="Fact_4c3d10bc810c4be9a83427e86a366839"
      unitRef="U001">1875000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"
      decimals="-3"
      id="Fact_d1bcaf7825314e4caa1e90002abbee2b"
      unitRef="U001">1870000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"
      decimals="-3"
      id="Fact_7bb6bc1ec0c7498ba2c8916bec581844"
      unitRef="U001">8469000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"
      decimals="-3"
      id="Fact_430febc0ab984a0982dc50d9dc92c266"
      unitRef="U001">7931000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember"
      decimals="-3"
      id="Fact_fae6b677bff045439eb790dcc9d818fc"
      unitRef="U001">7452000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember"
      decimals="-3"
      id="Fact_d103077547274791b136d965e480689d"
      unitRef="U001">7471000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember"
      decimals="-3"
      id="Fact_4e4a537ab15c434a8762e2fb0316eab1"
      unitRef="U001">154000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember"
      decimals="-3"
      id="Fact_14fec43752a645fd8495c6b05cfb000e"
      unitRef="U001">135000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231"
      decimals="-3"
      id="Fact_b71982fae5d44408a16315678e853d63"
      unitRef="U001">28678000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231"
      decimals="-3"
      id="Fact_d8106b1f5a994f35a669862e272c2518"
      unitRef="U001">28124000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20231231"
      decimals="-3"
      id="Fact_fd4b417a1f1a4cc283522e6c14fcfc07"
      unitRef="U001">18131000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20221231"
      decimals="-3"
      id="Fact_99a603d5f046437493fc82fb3e66eb1c"
      unitRef="U001">16962000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_d013043c64694733a1c5a1a1aca29ff3"
      unitRef="U001">10547000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_dddefb1586e1475c9209efedfb058548"
      unitRef="U001">11162000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_b1e2dfccce2b49f5b8eef51895be5a8b"
      unitRef="U001">10414000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20221231_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_60f03f0d6f8048739262db129e3fb429"
      unitRef="U001">10989000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231_StatementGeographicalAxis_CA"
      decimals="-3"
      id="Fact_010cced430ed489893d227a6bde9ef7e"
      unitRef="U001">133000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20221231_StatementGeographicalAxis_CA"
      decimals="-3"
      id="Fact_2509adcb8a4d42b78b865a82539257d9"
      unitRef="U001">173000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231_StatementGeographicalAxis_ES"
      decimals="-3"
      id="Fact_784b1f642a964d7da70db450916c9a8f"
      unitRef="U001">0</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20221231_StatementGeographicalAxis_ES"
      decimals="-3"
      id="Fact_f25f50e24e844aeeb4d793b6fd73fb98"
      unitRef="U001">0</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_55d551d3a9ef41c89e6d948b3c2406e9"
      unitRef="U001">10547000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_fe45059e33614f6ea51b864681aade6c"
      unitRef="U001">11162000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_912be46ce83e47268ed5fe619b01780c"
      unitRef="U001">1200000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c20220101to20221231"
      decimals="-5"
      id="Fact_f9dae97a797d4659bc1885fe9b669b2d"
      unitRef="U001">1200000</us-gaap:Depreciation>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_d22b956703764d019b5dfa674d64ce27"
      unitRef="U001">992000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_c8086c92ff174b62aaca8de10aa898e7"
      unitRef="U001">977000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <tlfa:ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards
      contextRef="c20231231"
      decimals="-3"
      id="Fact_089f4eec087e47838269aef69f91bef2"
      unitRef="U001">223000</tlfa:ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards>
    <tlfa:ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards
      contextRef="c20221231"
      decimals="-3"
      id="Fact_05cddd27f7284301a370937bef7a0ad9"
      unitRef="U001">256000</tlfa:ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards>
    <tlfa:ExpectedMerchandiseReturns
      contextRef="c20231231"
      decimals="-3"
      id="Fact_2ed4739753a9484daff346e601b94531"
      unitRef="U001">523000</tlfa:ExpectedMerchandiseReturns>
    <tlfa:ExpectedMerchandiseReturns
      contextRef="c20221231"
      decimals="-3"
      id="Fact_fb696cc1f0cb42778a771f3f7167e945"
      unitRef="U001">527000</tlfa:ExpectedMerchandiseReturns>
    <tlfa:SalesAndPayrollTaxesPayable
      contextRef="c20231231"
      decimals="-3"
      id="Fact_0afad1afb88b42d590a63f2e713c3636"
      unitRef="U001">1141000</tlfa:SalesAndPayrollTaxesPayable>
    <tlfa:SalesAndPayrollTaxesPayable
      contextRef="c20221231"
      decimals="-3"
      id="Fact_d2335cb5475c441db8b2b7c80c85c212"
      unitRef="U001">693000</tlfa:SalesAndPayrollTaxesPayable>
    <tlfa:AccruedVendorPayablesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_05fa0702ca4549de9fc95125e651a9fa"
      unitRef="U001">261000</tlfa:AccruedVendorPayablesCurrent>
    <tlfa:AccruedVendorPayablesCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_4106404a25ed43d48c6796aec3775a04"
      unitRef="U001">228000</tlfa:AccruedVendorPayablesCurrent>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="c20231231"
      decimals="-3"
      id="Fact_28c838c5f04b40718321ef66e673b9d7"
      unitRef="U001">3140000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="c20221231"
      decimals="-3"
      id="Fact_f4b370a8b84940b1b1cd3341f660d8d7"
      unitRef="U001">2681000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="c20230101to20231231"
      id="Text_c903eb85fef84b8c9d4577ca7eb66c79">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.&#160; LEASES&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;"&gt;The Company leases certain real estate and warehouse equipment under long-term lease agreements.&lt;/div&gt;

&lt;div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;"&gt; &lt;br/&gt;
          &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt;"&gt;The Company performs interim reviews of its operating and finance lease assets for impairment when evidence exists that the
            carrying value of an asset group, including a lease asset, may not be recoverable. The Company recognized no impairment expense
            related to its operating lease assets during the year ended December 31, 2023 or December 31, 2022.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Additional information regarding the Company&#x2019;s operating and finance leases is as follows (in thousands, except for lease term and discount rate information):&lt;br/&gt;
          &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;div&gt;
            &lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); width: 38%; white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Leases&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); width: 37%; white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Balance Sheet Classification&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Assets:&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;Operating&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:Fact_b9dfdad94aae4396b495caba99b90ba2"&gt;&lt;span style="-sec-ix-hidden:Fact_42175b4cf694408b86a7f31b64515fcc"&gt;Operating lease assets&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;8,995&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;9,742&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; padding-bottom: 2px;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;Finance&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; padding-bottom: 2px;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:Fact_61204fcbee3a4dc2a55825352cedb41c"&gt;&lt;span style="-sec-ix-hidden:Fact_191f13dfd1884c7da7e42218f7e403c9"&gt;Financing lease assets&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                    &lt;div&gt;23&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                    &lt;div&gt;31&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Total assets&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="font-weight: bold;"&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="font-weight: bold;"&gt;9,018&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="font-weight: bold;"&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="font-weight: bold;"&gt;9,773&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Liabilities:&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="text-decoration: underline;"&gt;Current&lt;/span&gt;&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;Operating&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:Fact_55612db32bb54f3b80b4f633e166d69b"&gt;&lt;span style="-sec-ix-hidden:Fact_287013327779408883a177a55e96ea11"&gt;Current portion of operating lease liabilities&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;3,172&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;2,881&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;Finance&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:Fact_f125ff13c8854d999c5e5b95ee4888a9"&gt;&lt;span style="-sec-ix-hidden:Fact_1d33cc9a62e44f4d9b50719282b6d98b"&gt;Current portion of finance lease liabilities&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                    &lt;div&gt;-&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                    &lt;div&gt;15&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="text-decoration: underline;"&gt;Non-current&lt;/span&gt;&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;Operating&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:Fact_f6c46685d84545a9adea4c3de34eb85d"&gt;&lt;span style="-sec-ix-hidden:Fact_6436e527f2fe40cbbec7271dc63c701e"&gt;Operating lease liabilities, non-current&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                    &lt;div&gt;6,253&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                    &lt;div&gt;7,469&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;Finance&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 37%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:Fact_ef3fa3de80ef4a7198d64162b5f1a16d"&gt;&lt;span style="-sec-ix-hidden:Fact_a6c6da4f95914e30a3b2331184d7a6ee"&gt;Finance lease liabilities, non-current&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;1&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;1&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; padding-bottom: 4px;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Total lease liabilities&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                    &lt;div style="font-weight: normal;"&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                    &lt;div style="font-weight: bold;"&gt;9,426&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                    &lt;div style="font-weight: normal;"&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                    &lt;div style="font-weight: bold;"&gt;10,366&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
          &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%; margin-left: auto; margin-right: auto;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Lease Cost&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Income Statement Classification&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Operating lease cost&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Operating expenses&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;3,908&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;3,737&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Operating lease cost&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Impairment expense&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;Short-term lease cost&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Operating expenses&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;38&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Variable lease cost&#160;(1)&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Operating expenses&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;915&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;797&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Amortization of finance lease assets&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Operating expenses&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;7&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;7&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Interest on lease liabilities&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; padding-bottom: 2px;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Interest expense&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;1&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Total lease cost&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom"&gt;4,830&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom"&gt;4,580&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;(1) Variable lease cost includes payment for certain real
            estate taxes, insurance, common area maintenance, and other charges related to lease agreements, which are not included in the measurement of the operating lease liabilities. &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;div&gt;
           &lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Maturity of Lease Liabilities&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Operating Leases&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Finance Leases&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2024&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;3,687&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2025&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2,755&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;-&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2026&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2,103&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;- &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2027&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;1,577&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;- &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2028&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;731&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;- &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Thereafter&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;275&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Total lease payments&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;11,128&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Less:&#160; Interest&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;(1,702&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Present value of lease liabilities&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;9,426&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
              &lt;/div&gt;


              &lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Other Information&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 75.49%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Operating cash flows used in operating leases&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;3,955&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;3,871&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 75.49%; white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Operating cash flows used in finance leases&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;-&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;1&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 75.49%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Financing cash flows used in finance leases&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;15&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;14&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
               &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;Lease Term and Discount Rate&lt;/span&gt;&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Weighted-average remaining lease term (years):&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Operating leases&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;3.6&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;4.8&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Finance leases&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;0.0&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;0.9&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Weighted-average discount rate:&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Operating leases&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;4.8&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;%&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;5.0&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;%&lt;br/&gt;
                &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Finance leases&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;6.0&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;%&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;6.0&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;%&lt;br/&gt;
                &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseImpairmentLoss
      contextRef="c20230101to20231231"
      decimals="-6"
      id="Fact_ca492760d37e4e69873b07e5713dbfb5"
      unitRef="U001">0</us-gaap:OperatingLeaseImpairmentLoss>
    <us-gaap:OperatingLeaseImpairmentLoss
      contextRef="c20220101to20221231_AdjustmentsForNewAccountingPronouncementsAxis_AccountingStandardsUpdate201602Member_RangeAxis_MaximumMember"
      decimals="-6"
      id="Fact_99a1cf090ee74511a3d8f868c2e9e86e"
      unitRef="U001">0</us-gaap:OperatingLeaseImpairmentLoss>
    <tlfa:LesseeOperatingLeaseAssetsAndLiabilities
      contextRef="c20230101to20231231"
      id="Text_836c0f5db9b94a09a8fe9cb4f8f54b81">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Additional information regarding the Company&#x2019;s operating and finance leases is as follows (in thousands, except for lease term and discount rate information):&lt;br/&gt;
          &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;div&gt;
            &lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); width: 38%; white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Leases&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); width: 37%; white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Balance Sheet Classification&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Assets:&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;Operating&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:Fact_b9dfdad94aae4396b495caba99b90ba2"&gt;&lt;span style="-sec-ix-hidden:Fact_42175b4cf694408b86a7f31b64515fcc"&gt;Operating lease assets&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;8,995&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;9,742&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; padding-bottom: 2px;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;Finance&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; padding-bottom: 2px;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:Fact_61204fcbee3a4dc2a55825352cedb41c"&gt;&lt;span style="-sec-ix-hidden:Fact_191f13dfd1884c7da7e42218f7e403c9"&gt;Financing lease assets&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                    &lt;div&gt;23&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                    &lt;div&gt;31&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Total assets&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="font-weight: bold;"&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="font-weight: bold;"&gt;9,018&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="font-weight: bold;"&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="font-weight: bold;"&gt;9,773&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Liabilities:&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="text-decoration: underline;"&gt;Current&lt;/span&gt;&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;Operating&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:Fact_55612db32bb54f3b80b4f633e166d69b"&gt;&lt;span style="-sec-ix-hidden:Fact_287013327779408883a177a55e96ea11"&gt;Current portion of operating lease liabilities&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;3,172&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;2,881&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;Finance&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:Fact_f125ff13c8854d999c5e5b95ee4888a9"&gt;&lt;span style="-sec-ix-hidden:Fact_1d33cc9a62e44f4d9b50719282b6d98b"&gt;Current portion of finance lease liabilities&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                    &lt;div&gt;-&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                    &lt;div&gt;15&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="text-decoration: underline;"&gt;Non-current&lt;/span&gt;&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;Operating&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:Fact_f6c46685d84545a9adea4c3de34eb85d"&gt;&lt;span style="-sec-ix-hidden:Fact_6436e527f2fe40cbbec7271dc63c701e"&gt;Operating lease liabilities, non-current&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                    &lt;div&gt;6,253&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                    &lt;div&gt;7,469&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;Finance&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 37%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:Fact_ef3fa3de80ef4a7198d64162b5f1a16d"&gt;&lt;span style="-sec-ix-hidden:Fact_a6c6da4f95914e30a3b2331184d7a6ee"&gt;Finance lease liabilities, non-current&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;1&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                    &lt;div&gt;1&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; padding-bottom: 4px;" valign="bottom"&gt;
                    &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Total lease liabilities&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                    &lt;div style="font-weight: normal;"&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                    &lt;div style="font-weight: bold;"&gt;9,426&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                    &lt;div style="font-weight: normal;"&gt;$&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
                    &lt;div style="font-weight: bold;"&gt;10,366&lt;/div&gt;
                  &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
          &lt;/div&gt;
</tlfa:LesseeOperatingLeaseAssetsAndLiabilities>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20231231"
      decimals="-3"
      id="Fact_1da6a716672e4bc784437dd256c60141"
      unitRef="U001">8995000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20221231"
      decimals="-3"
      id="Fact_65ede947f7344cb6aca88c23b0e8cb5e"
      unitRef="U001">9742000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="c20231231"
      decimals="-3"
      id="Fact_d577751093ce4756af9604cb48705c0b"
      unitRef="U001">23000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="c20221231"
      decimals="-3"
      id="Fact_04934000721942c0be18d734ef281e5a"
      unitRef="U001">31000</us-gaap:FinanceLeaseRightOfUseAsset>
    <tlfa:LeaseAssets
      contextRef="c20231231"
      decimals="-3"
      id="Fact_9bddec40c0444a98a6c24d84142e2c82"
      unitRef="U001">9018000</tlfa:LeaseAssets>
    <tlfa:LeaseAssets
      contextRef="c20221231"
      decimals="-3"
      id="Fact_34a5efdaaef64abc8dc2fa919589d9a1"
      unitRef="U001">9773000</tlfa:LeaseAssets>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_f45a121f9dc64d03886bffb8465ad871"
      unitRef="U001">3172000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_a96e3c9b9fa3403a923f0465dde6be62"
      unitRef="U001">2881000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_bbcae5398a8d4716826d1549a5e2eb7d"
      unitRef="U001">0</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_d9429a917e2348f99cb4a2a0b0b8b1e0"
      unitRef="U001">15000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_0f97f9be31204d04969f94b35242bcac"
      unitRef="U001">6253000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_f908948db6a6419e88e1b14fbbbce3ee"
      unitRef="U001">7469000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_cf043b15ef1a46e798a4ee51caeec633"
      unitRef="U001">1000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_06063d9c937749ad91adb8a72bd99399"
      unitRef="U001">1000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <tlfa:LeaseLiabilities
      contextRef="c20231231"
      decimals="-3"
      id="Fact_f210643d7e7344b1bc2a3e371a1df8a2"
      unitRef="U001">9426000</tlfa:LeaseLiabilities>
    <tlfa:LeaseLiabilities
      contextRef="c20221231"
      decimals="-3"
      id="Fact_aee14570b46d415b95b4e845c8ed5add"
      unitRef="U001">10366000</tlfa:LeaseLiabilities>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_a2ccad62670b41ab9c13cc791b73886f">
&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%; margin-left: auto; margin-right: auto;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Lease Cost&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Income Statement Classification&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Operating lease cost&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Operating expenses&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;3,908&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;3,737&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Operating lease cost&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Impairment expense&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;Short-term lease cost&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Operating expenses&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;38&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Variable lease cost&#160;(1)&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Operating expenses&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;915&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;797&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 38%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Amortization of finance lease assets&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Operating expenses&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;7&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;7&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Interest on lease liabilities&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; padding-bottom: 2px;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Interest expense&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;1&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 38%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Total lease cost&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td style="vertical-align: bottom; width: 37%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom"&gt;4,830&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom"&gt;4,580&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;(1) Variable lease cost includes payment for certain real
            estate taxes, insurance, common area maintenance, and other charges related to lease agreements, which are not included in the measurement of the operating lease liabilities. &lt;/div&gt;
</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="c20230101to20231231_IncomeStatementLocationAxis_OperatingExpenseMember"
      decimals="-3"
      id="Fact_d73be27150d34587b72c1b3da25ea6d2"
      unitRef="U001">3908000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="c20220101to20221231_IncomeStatementLocationAxis_OperatingExpenseMember"
      decimals="-3"
      id="Fact_6b7f178be3ba4f71af26a63c1e45b79c"
      unitRef="U001">3737000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="c20230101to20231231_IncomeStatementLocationAxis_ImpairmentExpenseMember"
      decimals="-3"
      id="Fact_de4ea42cccd24990b7eac01ae6e6d880"
      unitRef="U001">0</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="c20220101to20221231_IncomeStatementLocationAxis_ImpairmentExpenseMember"
      decimals="-3"
      id="Fact_729e018334374b72aac10c9923068648"
      unitRef="U001">0</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="c20230101to20231231_IncomeStatementLocationAxis_OperatingExpenseMember"
      decimals="-3"
      id="Fact_0bad3e1cc2f9469284e1de442eb22b80"
      unitRef="U001">0</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="c20220101to20221231_IncomeStatementLocationAxis_OperatingExpenseMember"
      decimals="-3"
      id="Fact_a3def9e969bd4ebf8fae7e6f6280c2ab"
      unitRef="U001">38000</us-gaap:ShortTermLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="c20230101to20231231_IncomeStatementLocationAxis_OperatingExpenseMember"
      decimals="-3"
      id="Fact_a3b952f0d5044b4cbbc5d97f6c36846c"
      unitRef="U001">915000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="c20220101to20221231_IncomeStatementLocationAxis_OperatingExpenseMember"
      decimals="-3"
      id="Fact_3876ad0c331343699155a9ee48dfd13f"
      unitRef="U001">797000</us-gaap:VariableLeaseCost>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="c20230101to20231231_IncomeStatementLocationAxis_OperatingExpenseMember"
      decimals="-3"
      id="Fact_035f3e00786645e3b7154adcb3500892"
      unitRef="U001">7000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="c20220101to20221231_IncomeStatementLocationAxis_OperatingExpenseMember"
      decimals="-3"
      id="Fact_860155751a1443fb9529bd99c1077c7e"
      unitRef="U001">7000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="c20230101to20231231_IncomeStatementLocationAxis_InterestExpenseMember"
      decimals="-3"
      id="Fact_16e09a26a4e348778759539f81b6af10"
      unitRef="U001">0</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="c20220101to20221231_IncomeStatementLocationAxis_InterestExpenseMember"
      decimals="-3"
      id="Fact_8ddf7e6d48c04cf6bb084ea2097a9e91"
      unitRef="U001">1000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:LeaseCost
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_7950bdfedd5d4661ae8fde408bbc5790"
      unitRef="U001">4830000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_bfd482b472ba4b27b78a0d382c3f9d70"
      unitRef="U001">4580000</us-gaap:LeaseCost>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_ce6b0a28d7e044a7b18f03f63603a553">
&lt;div&gt;
           &lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Maturity of Lease Liabilities&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Operating Leases&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Finance Leases&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2024&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;3,687&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2025&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2,755&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;-&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2026&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2,103&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;- &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2027&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;1,577&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;- &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;2028&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;731&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;- &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Thereafter&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;275&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Total lease payments&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;11,128&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Less:&#160; Interest&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;(1,702&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Present value of lease liabilities&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;9,426&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="c20231231"
      decimals="-3"
      id="Fact_e4d8ee0b4c2341258429253da87e2096"
      unitRef="U001">3687000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="c20231231"
      decimals="-3"
      id="Fact_87c216b121b34975a2b2e2a5f2652653"
      unitRef="U001">0</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ee45914d64f34dc2b9d8b76ee49299f0"
      unitRef="U001">2755000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="c20231231"
      decimals="-3"
      id="Fact_f419e4d04f7a47bcbffef1ee43c2bbae"
      unitRef="U001">0</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="c20231231"
      decimals="-3"
      id="Fact_937afe37c5664b4b96974afe87fdbd6e"
      unitRef="U001">2103000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="c20231231"
      decimals="-3"
      id="Fact_719e5bdc93db4553b2240f4580c6dec2"
      unitRef="U001">0</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="c20231231"
      decimals="-3"
      id="Fact_113e693324774024b8f1b427fadfd680"
      unitRef="U001">1577000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="c20231231"
      decimals="-3"
      id="Fact_945b695e39e245f19f539df0e6cf6881"
      unitRef="U001">0</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ef48f9176cdf46f5840a1da386e790e9"
      unitRef="U001">731000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive
      contextRef="c20231231"
      decimals="-3"
      id="Fact_54c9c89090ff4785a240cfe09f22c00c"
      unitRef="U001">0</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="c20231231"
      decimals="-3"
      id="Fact_975a447b4bce4429ba69e56b3b9d9e39"
      unitRef="U001">275000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7932966222cf4d2e914e31a5952bcf43"
      unitRef="U001">0</us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_53b890bb5143465aa06e45d7691ffcc7"
      unitRef="U001">11128000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_14d9b6ae452642ab8ad1c337df32fc30"
      unitRef="U001">0</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="c20231231"
      decimals="-3"
      id="Fact_69d8b7cca5a04b04b104e9cabc013202"
      unitRef="U001">1702000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="c20231231"
      decimals="-3"
      id="Fact_afce5d48f8f745ec9559fe939e575eeb"
      unitRef="U001">0</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="c20231231"
      decimals="-3"
      id="Fact_de12a24fcafd49f2a3edea28b0308c94"
      unitRef="U001">9426000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="c20231231"
      decimals="-3"
      id="Fact_73c5b1cf7915441aa055619095a5b7f7"
      unitRef="U001">0</us-gaap:FinanceLeaseLiability>
    <tlfa:LesseeOperatingLeasesOtherInformationTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_36339c7792cc479295366d870b4cbbc5">
&lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
              &lt;/div&gt;


              &lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Other Information&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 75.49%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Operating cash flows used in operating leases&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;3,955&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;3,871&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 75.49%; white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Operating cash flows used in finance leases&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;-&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;1&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 75.49%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Financing cash flows used in finance leases&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;15&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.28%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9.02%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                      &lt;div style="color: rgb(0, 0, 0);"&gt;14&lt;/div&gt;
                    &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1.02%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
               &lt;/div&gt;
</tlfa:LesseeOperatingLeasesOtherInformationTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_3bec94bea07b45d2a9a92f3a12e171c3"
      unitRef="U001">3955000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_48740477283246718db299d09e50ffcd"
      unitRef="U001">3871000</us-gaap:OperatingLeasePayments>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_d67c14e8ee1e4515ad9e7664b17d0851"
      unitRef="U001">0</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_39869ac8e6b2486395ed319fadc7f087"
      unitRef="U001">1000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_27de243f93b548fabd8396d3a494085f"
      unitRef="U001">15000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_acc128c1a2d547c3ac2538bc97c6780e"
      unitRef="U001">14000</us-gaap:FinanceLeasePrincipalPayments>
    <tlfa:LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_f7684cc422684e68a551faf3d35d4a3f">
&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0); width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;Lease Term and Discount Rate&lt;/span&gt;&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;December 31, 2022&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Weighted-average remaining lease term (years):&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Operating leases&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;3.6&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;4.8&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Finance leases&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;0.0&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;0.9&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;Weighted-average discount rate:&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Operating leases&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;4.8&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;%&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;5.0&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;%&lt;br/&gt;
                &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-indent: 9pt;"&gt;Finance leases&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;6.0&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;%&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;6.0&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;%&lt;br/&gt;
                &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</tlfa:LesseeOperatingLeasesLeaseTermAndDiscountRateTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="c20231231"
      id="Fact_abdd3eade3b248d9a357f08c33cda66e">P3Y7M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="c20221231"
      id="Fact_9f7b878fe2e642f3b24f08ad36bf9ffd">P4Y9M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="c20231231"
      id="Fact_e37d6925a17647b0b4cb72b3a7d76b07">P0Y</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="c20221231"
      id="Fact_4468ded36ff44078aec67fa3dbc25262">P0Y10M24D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="c20231231"
      decimals="3"
      id="Fact_dd32c539ce0a454ba917376d93c0a901"
      unitRef="U007">0.048</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="c20221231"
      decimals="3"
      id="Fact_bcbc18f77c034ed5b69755f3ee5a19e6"
      unitRef="U007">0.05</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="c20231231"
      decimals="3"
      id="Fact_af9d67fcea17401bbeb6f44639802b99"
      unitRef="U007">0.06</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="c20221231"
      decimals="3"
      id="Fact_bcf4964543e44bdab6aad76cc28c7ca6"
      unitRef="U007">0.06</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_16ef33a7613345e3a03ce713a05ddedd">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;5.&#160; NOTES PAYABLE AND LONG-TERM DEBT&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; During the second quarter of 2020, the Company borrowed $0.4
          million from Banco Santander S.A. under the Institute of Official Credit Guarantee for Small and Medium-sized Enterprises in order to facilitate the continuation of employment and to attenuate the economic effects of the coronavirus (&#x201c;COVID-19&#x201d;)
          virus.&#160; This loan was provided for by the Spanish government as part of a COVID-19 relief program, and on June 6, 2022, the Company repaid this loan in full.&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; On
            January 3, 2023, the Company entered into a credit agreement (the &#x201c;Credit Agreement&#x201d;) with JPMorgan Chase Bank, N.A.&#160; Under the Credit Agreement, the bank will provide the Company a credit facility of up to $5,000,000 on standard terms and conditions, including affirmative and negative covenants set forth in the Credit Agreement.&#160; As security for the
            credit facility, the Company has pledged as collateral certain of its assets, including the Company&#x2019;s cash in deposit accounts, inventory and equipment.&#160; As of the date of this filing, no funds had been borrowed under this facility.&lt;/span&gt; &lt;br/&gt;
          &lt;/div&gt;
</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="c20200401to20200630_DebtInstrumentAxis_InstituteOfOfficialCreditGuaranteeForSmallAndMediumSizedEnterprisesMember"
      decimals="-5"
      id="Fact_231eeba772b844488834a07c5cf76276"
      unitRef="U001">400000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20230103_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember"
      decimals="0"
      id="Fact_bd122827f21546c7955f814f12353d8d"
      unitRef="U001">5000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="c20230101to20231231_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember"
      decimals="0"
      id="Fact_aba54df578694ce79b8f44d5b80bba87"
      unitRef="U001">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_2f4aaa71a33545b28fc874558a09b590">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6.&#160; EMPLOYEE BENEFIT AND SAVINGS PLANS&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We have a 401(k) plan to provide retirement benefits for our employees.&#160; As allowed under Section 401(k) of the Internal Revenue Code, the plan provides tax-deferred
          salary contributions for eligible employees and allows employees to contribute a percentage of their annual compensation to the plan on a pretax basis.&#160; Employee contributions are limited to a maximum annual amount as set periodically by the
          Internal Revenue Code.&#160; In 2023 and 2022, we matched 100% of the pretax employee contributions on the first 3% of eligible earnings and 50%
          of the pretax employee contributions on the next 2% of eligible earnings that are contributed by employees.&#160; For the years ended
          December 31, 2023, and 2022, we recorded employer match expense of $0.3 million and $0.3 million, respectively.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify;"&gt; &lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; The
            plan allows employees who meet the age requirements and reach the plan contribution limits to make a catch-up contribution. The catch-up contributions are not eligible for matching contributions.&#160; In addition, the plan provides for
            discretionary matching contributions as determined by the Board of Directors.&#160; There were no discretionary matching
            contributions made in 2023 or 2022. &lt;/span&gt; &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We offer no postretirement or postemployment benefits to our employees.&lt;/div&gt;
</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="c20220101to20221231_RetirementPlanTypeAxis_OneHundredPercentContributionMember"
      decimals="2"
      id="Fact_cec7f1d5d58c4e3d9f1297d0b492acab"
      unitRef="U007">1</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="c20230101to20231231_RetirementPlanTypeAxis_OneHundredPercentContributionMember"
      decimals="2"
      id="Fact_aae267ee23594035a3c92dab299b7538"
      unitRef="U007">1</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="c20230101to20231231_RetirementPlanTypeAxis_OneHundredPercentContributionMember"
      decimals="2"
      id="Fact_fe16fe3a746343829055f75becb89a2c"
      unitRef="U007">0.03</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="c20220101to20221231_RetirementPlanTypeAxis_OneHundredPercentContributionMember"
      decimals="2"
      id="Fact_54dc4211d84142d8b57c4016f43f4b44"
      unitRef="U007">0.03</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="c20230101to20231231_RetirementPlanTypeAxis_FiftyPercentContributionMember"
      decimals="2"
      id="Fact_ed81ee3635d44866aac4c671f249a290"
      unitRef="U007">0.50</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="c20220101to20221231_RetirementPlanTypeAxis_FiftyPercentContributionMember"
      decimals="2"
      id="Fact_b3660586b9f0423282d19e97d971a325"
      unitRef="U007">0.50</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="c20220101to20221231_RetirementPlanTypeAxis_FiftyPercentContributionMember"
      decimals="2"
      id="Fact_e2747d3d599a4fc89f49552850ff50f6"
      unitRef="U007">0.02</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="c20230101to20231231_RetirementPlanTypeAxis_FiftyPercentContributionMember"
      decimals="2"
      id="Fact_8253cd34aaeb4cf2849f67e28a7799c9"
      unitRef="U007">0.02</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_50feb3fb45fc45029221516d7ec24a93"
      unitRef="U001">300000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="c20220101to20221231"
      decimals="-5"
      id="Fact_db29b3b8dd7d4cf090a93cbc1593b824"
      unitRef="U001">300000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="c20220101to20221231"
      decimals="0"
      id="Fact_fdc66521cd854df7815ee8b9bc72c9ca"
      unitRef="U001">0</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="c20230101to20231231"
      decimals="0"
      id="Fact_5efdf6ea17cc42d291eeaeecbff90ce8"
      unitRef="U001">0</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_a9fae5b042fc4741829caf7fcd4051c1">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7.&#160; INCOME TAXES&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The provision for income taxes consists of the following:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Year Ended December 31,&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Income Tax Benefit&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2023&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2022&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Current provision (benefit):&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Federal&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;892&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;16&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;State&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;181&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;41&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Foreign&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;102&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;96&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Related to UTP&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(34&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;28&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,141&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;181&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;Deferred provision (benefit):&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: normal;"&gt;Federal&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;(266&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;)&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: normal; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;State&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;(103&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;)&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: normal; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;Foreign&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;5&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;" valign="bottom"&gt;(364&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;" valign="bottom"&gt;)&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Total tax provision (benefit)&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;777&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;181&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="margin-top: 0px; margin-bottom: 0px; font-family: 'Times New Roman'; font-size: 10pt; text-align: justify; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;Earnings occurring outside the U.S. are deemed to be indefinitely reinvested outside of the U.S. to support the Company&#x2019;s foreign operations.&#160; As a result, if the Company accumulates earnings overseas, they will be used
            for investment in the Company&#x2019;s businesses outside the U.S.&#160; The Company will use cash generated from U.S. operations and short- and long-term borrowings to meet the Company&#x2019;s U.S. cash needs.&#160; The determination of unrecognized deferred tax
            liabilities for temporary differences in investments in foreign subsidiaries is not practicable.&lt;/div&gt;

&lt;div style="margin-top: 0px; margin-bottom: 0px; font-family: 'Times New Roman'; font-size: 10pt; text-align: justify; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;br/&gt;
          &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;The Company has $0.7 million of state tax net operating loss (&#x201c;NOL&#x201d;) carryovers which will begin to expire in 2025.&#160; We also have a full valuation allowance on $0.6 million of foreign tax NOL carryovers that do not expire.&lt;br/&gt;
            &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Income before income taxes was earned in the following tax jurisdictions:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Year Ended December 31,&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Income (Loss) Before Income Taxes&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2023&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2022&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;United States&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;3,765&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;733&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Spain&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;25&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(83&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Canada&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;755&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;758&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;TOTAL&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;4,545&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,408&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The income tax effects of temporary differences that give rise to significant portions of deferred income tax assets and liabilities are as follows:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Deferred income tax assets:&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2023&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2022&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Inventory&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;412&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;471&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Stock-based compensation&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;55&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;93&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Accounts receivable&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;8&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;14&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Sales returns&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;49&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;47&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Foreign currency translation gain/loss in OCI&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;512&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;689&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Net operating losses&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;182&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;261&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Accrued expenses&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;170&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;63&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Leases&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;108&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;152&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Total deferred income tax assets&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,496&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,790&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Less:&#160; valuation allowance&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: normal;"&gt;(154&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: normal;"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: normal;"&gt;(1,151&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: normal;"&gt;)&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Total deferred income tax assets, net of valuation allowance&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,342&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;639&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Property and equipment depreciation&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;471&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;639&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Total deferred income tax liabilities&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;471&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;639&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Net deferred tax asset (liability)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;871&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;-&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We are required to reduce deferred tax assets by a valuation allowance if, based on the weight of the available evidence, it is more likely than not that all or a
          portion of a deferred tax asset will not be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences are deductible.&lt;br/&gt;
          &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;As of each reporting date, the Company considers new evidence, both positive and negative, that could affect its view of the future realization of deferred tax assets.&#160;&#160; As of December 31, 2023,
            management determined that there is sufficient positive evidence to conclude that it is more likely than not that additional deferred taxes of $1.3
            million are realizable.&#160; We reduced the valuation allowance accordingly.&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Our
            effective tax rate differs from the federal statutory rate primarily due to U.S. state income tax expense, the difference in tax rates for loss carryback periods, foreign income/loss positions, expenses that are nondeductible for tax purposes,
            the change in our valuation allowance associated with our deferred tax assets, and differences in tax rates.&#160; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Below is a reconciliation of our effective tax rate from the statutory rate: &lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Year Ended December 31,&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;2023&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2022&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: middle; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Statutory rate &#x2013; Federal U.S. income tax&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;21.0&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;21.0&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: middle; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;State and local taxes&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;5.3&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(0.6&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: middle; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Permanent book/tax differences&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;2.4&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;11.3&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: middle; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Change in valuation allowance&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(6.8&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(20.3&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div&gt;Interest on Uncertain Tax Position&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(0.8&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;2.0&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;Income tax credits&lt;br/&gt;
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;(2.3&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;)%&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: middle; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Other, net&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(1.7&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(0.5&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: middle; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Effective rate&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;17.1&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;12.9&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;We file a
          consolidated U.S. income tax return as well as state tax returns on a consolidated, combined, or stand-alone basis, depending on the jurisdiction.&#160; We are no longer subject to U.S. federal income tax examinations by tax authorities for years
          prior to the tax year ended December 2021.&#160; Depending on the jurisdiction, we are no longer subject to state examinations by tax authorities for years prior to the December 2020 and December 2021 tax years.&lt;/span&gt; We file tax returns in a limited
        number of foreign jurisdictions. &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;A reconciliation of the beginning and ending amount of uncertain tax positions (&#x201c;UTP&#x201d;) is as follows:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2023&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2022&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;UTP at beginning of the year&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;450&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;415&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Gross (decrease) increase to tax positions in current period&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(27&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;7&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Interest expense&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(35&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;28&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;UTP at end of year&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;388&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;450&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_d107c00ece164281abb9eef79b51945e">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The provision for income taxes consists of the following:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Year Ended December 31,&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Income Tax Benefit&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2023&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2022&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Current provision (benefit):&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Federal&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;892&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;16&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;State&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;181&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;41&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Foreign&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;102&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;96&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Related to UTP&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(34&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;28&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,141&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;181&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;Deferred provision (benefit):&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: normal;"&gt;Federal&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;(266&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;)&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: normal; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;State&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;(103&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;)&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: normal; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;Foreign&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;5&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;" valign="bottom"&gt;(364&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;" valign="bottom"&gt;)&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); font-weight: bold; white-space: nowrap;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; font-weight: bold; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Total tax provision (benefit)&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;777&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;181&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_eb039600d7bb4ed59888f48f99d8e66a"
      unitRef="U001">892000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_8c518bba84fc4078bdf47da63db160c9"
      unitRef="U001">16000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_8c4998fd70b449d887a91cf059be5377"
      unitRef="U001">181000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_20d46146849644698d6f6d285315c88a"
      unitRef="U001">41000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_00436bc147314e8e9470bad748ee91e3"
      unitRef="U001">102000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_9727ebbc3234444cb7ee05366307953a"
      unitRef="U001">96000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_c0aecaefce97459e948b7816e412401e"
      unitRef="U001">-34000</us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense>
    <us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_aabe596998b94d509fcfd1272b99bf94"
      unitRef="U001">28000</us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_db1ae73f7bc74fd1a50b839a25dcb333"
      unitRef="U001">1141000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_9eefdb08b4194a28853ff88c72109334"
      unitRef="U001">181000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_50f6698eb88342c882c55fd59a3d1e00"
      unitRef="U001">-266000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_a57e23cd391b4a78ba20cea71a388eb3"
      unitRef="U001">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_52086c15442e41cd95d2aa9daacb289d"
      unitRef="U001">-103000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_1b517fefc589493e9ead0a55df47fedc"
      unitRef="U001">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_b5a2f01ae6544437a23dbe4bf7073ddf"
      unitRef="U001">5000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_786c3f4f73f14fe49ab787d34118e8a9"
      unitRef="U001">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_283ac9389ae54827bc55a99d6cb2367b"
      unitRef="U001">-364000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_06caaf51ae024a8d891ded5457385da8"
      unitRef="U001">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_2e25435d8bbf4b438eb939270cb24d69"
      unitRef="U001">777000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_281f0410e8e143e7a95d3e68edc5e6c9"
      unitRef="U001">181000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
      contextRef="c20231231"
      decimals="-5"
      id="Fact_c647badb70b94c4c965f5c1872b827ab"
      unitRef="U001">700000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign
      contextRef="c20231231"
      decimals="-5"
      id="Fact_be4a7a10d65248a2bf489d3d742f388f"
      unitRef="U001">600000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_fa357b12db0146b5b2e554b4999d7db3">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Income before income taxes was earned in the following tax jurisdictions:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Year Ended December 31,&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Income (Loss) Before Income Taxes&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2023&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2022&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;United States&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;3,765&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;733&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Spain&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;25&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(83&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Canada&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;755&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;758&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;TOTAL&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;4,545&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,408&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="c20230101to20231231_IncomeTaxAuthorityNameAxis_InternalRevenueServiceIRSMember"
      decimals="-3"
      id="Fact_a966f0864167459eb82fd16115503715"
      unitRef="U001">3765000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="c20220101to20221231_IncomeTaxAuthorityNameAxis_InternalRevenueServiceIRSMember"
      decimals="-3"
      id="Fact_e8e0aa4d34184c0cbb50cab0a8774b1d"
      unitRef="U001">733000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="c20230101to20231231_IncomeTaxAuthorityNameAxis_TaxAuthoritySpainMember"
      decimals="-3"
      id="Fact_cb6c38f86ed144a6a6a380979b9803ba"
      unitRef="U001">25000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="c20220101to20221231_IncomeTaxAuthorityNameAxis_TaxAuthoritySpainMember"
      decimals="-3"
      id="Fact_56bc6fffc5a14a408d446417ac0a9a8b"
      unitRef="U001">-83000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="c20230101to20231231_IncomeTaxAuthorityNameAxis_CanadaRevenueAgencyMember"
      decimals="-3"
      id="Fact_01be4ce18b05447c9ca9a46bcff01503"
      unitRef="U001">755000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="c20220101to20221231_IncomeTaxAuthorityNameAxis_CanadaRevenueAgencyMember"
      decimals="-3"
      id="Fact_99c8c25f21344eec968f82e92d8ebd53"
      unitRef="U001">758000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_a1b3819af42a45218850fa5c076b1082"
      unitRef="U001">4545000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_1dad655b98ff45c09b6fc5555eaca25f"
      unitRef="U001">1408000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_01d0f3767d8a4445a7fc04062458aa3b">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The income tax effects of temporary differences that give rise to significant portions of deferred income tax assets and liabilities are as follows:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Deferred income tax assets:&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2023&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2022&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Inventory&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;412&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;471&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Stock-based compensation&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;55&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;93&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Accounts receivable&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;8&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;14&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Sales returns&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;49&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;47&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Foreign currency translation gain/loss in OCI&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;512&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;689&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Net operating losses&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;182&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;261&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Accrued expenses&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;170&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;63&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Leases&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;108&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;152&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Total deferred income tax assets&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,496&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,790&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Less:&#160; valuation allowance&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: normal;"&gt;(154&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: normal;"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: normal;"&gt;(1,151&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: normal;"&gt;)&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Total deferred income tax assets, net of valuation allowance&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,342&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;639&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Property and equipment depreciation&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;471&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;639&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Total deferred income tax liabilities&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;471&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;639&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Net deferred tax asset (liability)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;871&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;-&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="c20231231"
      decimals="-3"
      id="Fact_38c2ef35d48d47b6a53a39686a63853f"
      unitRef="U001">412000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="c20221231"
      decimals="-3"
      id="Fact_3c0337125a744bd5898138d3cbb8a720"
      unitRef="U001">471000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ede219f7b92b4e4ba95fe6e05d11c34c"
      unitRef="U001">55000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="c20221231"
      decimals="-3"
      id="Fact_7950790966374324bbeddc7e64d41e43"
      unitRef="U001">93000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <tlfa:DeferredTaxAssetsAccountsReceivable
      contextRef="c20231231"
      decimals="-3"
      id="Fact_63dde9469e3e44fd924b822485f80891"
      unitRef="U001">8000</tlfa:DeferredTaxAssetsAccountsReceivable>
    <tlfa:DeferredTaxAssetsAccountsReceivable
      contextRef="c20221231"
      decimals="-3"
      id="Fact_d69a4fc46983497da79e3d05e723f6f4"
      unitRef="U001">14000</tlfa:DeferredTaxAssetsAccountsReceivable>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances
      contextRef="c20231231"
      decimals="-3"
      id="Fact_9d44c06048104e7bbdc576cf8ddcb636"
      unitRef="U001">49000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances
      contextRef="c20221231"
      decimals="-3"
      id="Fact_45c653b933374e369d6f58f9f001dfc8"
      unitRef="U001">47000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances>
    <us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses
      contextRef="c20231231"
      decimals="-3"
      id="Fact_f3ac7d695a884fee93b57270487dbfaf"
      unitRef="U001">512000</us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses>
    <us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses
      contextRef="c20221231"
      decimals="-3"
      id="Fact_c4d7d481277f4f899a53d72175d0bdd8"
      unitRef="U001">689000</us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="c20231231"
      decimals="-3"
      id="Fact_a8779f63c70e4fbeb7f40b1b682f40ef"
      unitRef="U001">182000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="c20221231"
      decimals="-3"
      id="Fact_8098f8250c434fd0ab48dce050bd1e1a"
      unitRef="U001">261000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="c20231231"
      decimals="-3"
      id="Fact_42af7e817e7c4b66aa7ecc01a8a31f28"
      unitRef="U001">170000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="c20221231"
      decimals="-3"
      id="Fact_08caeb533ba948a1a2e0a6167243eb0a"
      unitRef="U001">63000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_28076b8b66b545a6b80a9067f27282ce"
      unitRef="U001">108000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_6da97bc2c338413a8a159090ce2d42ff"
      unitRef="U001">152000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="c20231231"
      decimals="-3"
      id="Fact_2ef8748ebcd8431f841bb0fa70cdfb49"
      unitRef="U001">1496000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="c20221231"
      decimals="-3"
      id="Fact_839c7b9aa80743b1902c53aa963a97c6"
      unitRef="U001">1790000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="c20231231"
      decimals="-3"
      id="Fact_62a14d03e4a34faca0d5319b03ee1faa"
      unitRef="U001">154000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="c20221231"
      decimals="-3"
      id="Fact_fbce0cab48f8435ba6577e2453b686c6"
      unitRef="U001">1151000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_047afd51de66436caa6e60e785696083"
      unitRef="U001">1342000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_e62b88b63ee74a2c82d891a3acd6b840"
      unitRef="U001">639000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="c20231231"
      decimals="-3"
      id="Fact_abec6f8b8bfe4d018553819b3f04ad24"
      unitRef="U001">471000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="c20221231"
      decimals="-3"
      id="Fact_4f12ccebde5a48f89e7d2242880619a5"
      unitRef="U001">639000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ff80089cc361495897039d484acb701f"
      unitRef="U001">471000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="c20221231"
      decimals="-3"
      id="Fact_ba6799367f544d23a78217173fed8233"
      unitRef="U001">639000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_1e99687a442e41d1981e1cd6458bc40c"
      unitRef="U001">871000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_2285970c47e74420b0e44de062f8e409"
      unitRef="U001">0</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="c20231231"
      decimals="-5"
      id="Fact_ebdb61cb800a40fa80b4a7f8c9049b49"
      unitRef="U001">1300000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_8253ddea6e7741eeb73d5ba90ed3d59f">&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Below is a reconciliation of our effective tax rate from the statutory rate: &lt;/span&gt; &lt;/span&gt;
&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Year Ended December 31,&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;2023&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2022&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: middle; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Statutory rate &#x2013; Federal U.S. income tax&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;21.0&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;21.0&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: middle; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;State and local taxes&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;5.3&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(0.6&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: middle; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Permanent book/tax differences&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;2.4&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;11.3&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: middle; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Change in valuation allowance&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(6.8&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(20.3&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div&gt;Interest on Uncertain Tax Position&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(0.8&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;2.0&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;Income tax credits&lt;br/&gt;
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;(2.3&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;)%&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;-&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: middle; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Other, net&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(1.7&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(0.5&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: middle; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Effective rate&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;17.1&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;%&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;12.9&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;%&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_07251efa3d7a45ecb249ce1f1d3768a6"
      unitRef="U007">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_d465a83492594bf293b8e441df40f263"
      unitRef="U007">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_98837cf3379545f2bfe1416e969dd332"
      unitRef="U007">0.053</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_dbfe23c240174b2088a553f842171f2a"
      unitRef="U007">-0.006</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <tlfa:EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_7530f870bdd1401bb2d01119d3ab1971"
      unitRef="U007">0.024</tlfa:EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent>
    <tlfa:EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_f20ae19deff848ab99fefb9841b8be9a"
      unitRef="U007">0.113</tlfa:EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_4e0844910e8c49348b722f0468e2c068"
      unitRef="U007">-0.068</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_fb0b2abb6e4f496a91f6d319da1e801e"
      unitRef="U007">-0.203</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <tlfa:EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_002d81a3011b42d9998a4355525e3409"
      unitRef="U007">-0.008</tlfa:EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent>
    <tlfa:EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_de3b426d2d3340cd80bae5d51d439558"
      unitRef="U007">0.02</tlfa:EffectiveIncomeTaxRateReconciliationInterestOnUnrecognizedTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_686a977905a94df0ba2a4b46500c9e7a"
      unitRef="U007">0.023</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="c20220101to20221231"
      decimals="INF"
      id="Fact_63aa04084e5a46a8a57a34962b74c489"
      unitRef="U007">0</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_770fb0cce9a949af931324e20fb362bf"
      unitRef="U007">-0.017</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_ffc76ace9a8c43c8a1b5367fdd2a6178"
      unitRef="U007">-0.005</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_065dc00923c944ec98334e82b2ecb4a7"
      unitRef="U007">0.171</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_3d57167ceba94f81aa3c89d366f284fc"
      unitRef="U007">0.129</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_5ba6f09e20494e09b99e935af73454a2">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;A reconciliation of the beginning and ending amount of uncertain tax positions (&#x201c;UTP&#x201d;) is as follows:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2023&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;2022&lt;/div&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;UTP at beginning of the year&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;450&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;415&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Gross (decrease) increase to tax positions in current period&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(27&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;7&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Interest expense&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(35&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;28&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;UTP at end of year&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;388&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;450&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20221231"
      decimals="-3"
      id="Fact_523a49472c454cdf8d011510035decaf"
      unitRef="U001">450000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20211231"
      decimals="-3"
      id="Fact_65c9f096cd984507bf660904a581aa62"
      unitRef="U001">415000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_0d1e0f79b718499683d2ca2c3ae71ada"
      unitRef="U001">27000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_154b91f73e644dca91e0551f05ffb5af"
      unitRef="U001">7000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <tlfa:UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_f39ee2f2efd44c87835273fd6af246cb"
      unitRef="U001">-35000</tlfa:UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense>
    <tlfa:UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_2f01eb4fbd444ae1be6847729def8126"
      unitRef="U001">28000</tlfa:UnrecognizedTaxBenefitsInterestOnIncomeAndForeignIncomeTaxesExpense>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20231231"
      decimals="-3"
      id="Fact_db93aff49d894c4eb28d15224e21106b"
      unitRef="U001">388000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20221231"
      decimals="-3"
      id="Fact_78f6ea18236d4d4fbc824424b6718564"
      unitRef="U001">450000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_f216cd5e01c64a059e11509c1a3b1556">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8.&#160; COMMITMENTS AND CONTINGENCIES&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Legal Proceedings&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We are periodically involved in various litigation that arises in the ordinary course of business and operations.&#160; There are no such matters pending that we expect
          to have a material impact on our financial position or operating results.&#160; Legal costs associated with the resolution of claims, lawsuits, and other contingencies are expensed as incurred.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;Delisting of the
            Company&#x2019;s Common Stock&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;br/&gt;
          &lt;/div&gt;

&lt;div&gt;&lt;span style="color: rgb(38, 38, 38);"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"&gt;After discovery of
            the accounting matters described in previous Security and Exchange Commission filings and during our resulting financial restatement, the Company did not file its periodic financial reports with the SEC.&#160; As a result, Nasdaq suspended trading
            of the Company&#x2019;s stock in August 2020 and formally de-listed the stock from the Nasdaq markets in February 2021.&#160; After being de-listed from Nasdaq, the Company&#x2019;s stock traded in the Over The Counter Markets until September l, 2022, when Nasdaq
            again approved it for listing.&#160; The Company&#x2019;s stock currently trades on the Nasdaq Capital Market under the symbol TLF.&lt;/div&gt;
</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:ConcentrationRiskDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_6f20360357484c7486886e58de45c779">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9.&#160; SIGNIFICANT BUSINESS CONCENTRATIONS AND RISK&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Major Customers&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Our revenues are derived from a diverse group of customers, from hobbyist crafters to small and large businesses across a wide variety of industries.&#160; No single customer accounted for more than 0.5% of our consolidated revenues in 2023 or 2022, and sales to our five largest customers represented less than 2.0%
          of consolidated revenues in each of those years.&#160; While we do not believe the loss of one of these customers would have a significant negative impact on our operations, we do believe the loss of several of these customers simultaneously or a
          substantial reduction in sales generated by them could temporarily affect our operating results.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-weight: bold;"&gt;Major Suppliers&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-weight: normal;"&gt; &lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-weight: normal;"&gt;We purchase merchandise and raw materials from nearly 150 suppliers from the United States and approximately 20
            foreign countries.&#160; In general, our 10 largest suppliers account for approximately 55% of our inventory purchases, and we had one supplier in
            2023 who represented more than 10% of our purchases.&lt;/span&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-weight: normal;"&gt; &lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Credit Risk&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Due to the large number of customers comprising our customer base, concentrations of credit risk with respect to customer receivables are limited. The top two customers as of December 31, 2023, and 2022, represented 8.0% and 10.0% of net accounts receivable balance, respectively. These top two customers were also current as of these same dates. We do not generally require collateral for accounts receivable, but we do perform periodic
          credit evaluations of our customers and believe the allowance for doubtful accounts is adequate.&#160; It is our opinion that if any one or a group of customer receivable balances should be deemed uncollectable, it would not have a material adverse
          effect on our results of operations or financial condition.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify;"&gt;
           &lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;We maintain a majority of our cash in marketable securities and bank deposit accounts that, at times, may exceed federally insured limits.&#160; We have not experienced any losses in such accounts.&#160; We believe we are not exposed to any
            significant credit risk on our cash and cash equivalents. &lt;/span&gt;&lt;/div&gt;
</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <tlfa:NumberOfMajorCustomers
      contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact_65d8439c67c44ff3b75b27c2b72385fd"
      unitRef="U008">0</tlfa:NumberOfMajorCustomers>
    <tlfa:NumberOfMajorCustomers
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact_5ed34725493b4c4eb3f03030070cef6b"
      unitRef="U008">0</tlfa:NumberOfMajorCustomers>
    <tlfa:NumberOfMajorCustomers
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_FiveMajorCustomersMember"
      decimals="INF"
      id="Fact_3fb0dc5c2eb74545a686023b5b446c32"
      unitRef="U008">5</tlfa:NumberOfMajorCustomers>
    <tlfa:NumberOfMajorCustomers
      contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_FiveMajorCustomersMember"
      decimals="INF"
      id="Fact_230f0a89b4974146b0734793677899e5"
      unitRef="U008">5</tlfa:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_FiveMajorCustomersMember_RangeAxis_MaximumMember"
      decimals="3"
      id="Fact_86d1541fa6b24a6a9a9e068a7358892e"
      unitRef="U007">0.02</us-gaap:ConcentrationRiskPercentage1>
    <tlfa:NumberOfSuppliers
      contextRef="c20230101to20231231_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_StatementGeographicalAxis_US"
      decimals="INF"
      id="Fact_749371b243a54694a4a6729e62c2ae2e"
      unitRef="U009">150</tlfa:NumberOfSuppliers>
    <tlfa:NumberOfSuppliers
      contextRef="c20230101to20231231_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_StatementGeographicalAxis_NonUsMember"
      decimals="INF"
      id="Fact_1ba4cfd506d64942859bd0fe89dc6c0e"
      unitRef="U009">20</tlfa:NumberOfSuppliers>
    <tlfa:NumberOfMajorSuppliers
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsPayableMember_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_TenMajorSuppliersMember"
      decimals="INF"
      id="Fact_8e8e3dd99bd647b994d5aee2520048b9"
      unitRef="U009">10</tlfa:NumberOfMajorSuppliers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsPayableMember_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_TenMajorSuppliersMember"
      decimals="2"
      id="Fact_c442870b4c3d4fc2a16fe534ab962d4b"
      unitRef="U007">0.55</us-gaap:ConcentrationRiskPercentage1>
    <tlfa:NumberOfSuppliers
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsPayableMember_ConcentrationRiskByTypeAxis_SupplierConcentrationRiskMember_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_OneMajorSupplierMember"
      decimals="INF"
      id="Fact_a09fc462617649baa4f3b31d6cbf6de5"
      unitRef="U009">1</tlfa:NumberOfSuppliers>
    <tlfa:NumberOfMajorCustomers
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember"
      decimals="INF"
      id="Fact_facbe4af394449798a1bf29483b69c34"
      unitRef="U008">2</tlfa:NumberOfMajorCustomers>
    <tlfa:NumberOfMajorCustomers
      contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember"
      decimals="INF"
      id="Fact_1b142832a43f46059513f116885d3d84"
      unitRef="U008">2</tlfa:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember"
      decimals="3"
      id="Fact_d17abacf80ac4a0d96a843e89573eedc"
      unitRef="U007">0.08</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember"
      decimals="3"
      id="Fact_d00cdf6551724c0fb7a0cb0b0ff8f979"
      unitRef="U007">0.10</us-gaap:ConcentrationRiskPercentage1>
    <tlfa:NumberOfMajorCustomers
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember"
      decimals="INF"
      id="Fact_d03620b2775e4dfda0d39a3b34dcf3a7"
      unitRef="U008">2</tlfa:NumberOfMajorCustomers>
    <tlfa:NumberOfMajorCustomers
      contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TwoMajorCustomersMember"
      decimals="INF"
      id="Fact_ce74440791cf479c9da78b3ecd96587d"
      unitRef="U008">2</tlfa:NumberOfMajorCustomers>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_e8ec3fe1363440188565d93c7e829ce4">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10.&#160; STOCKHOLDERS&#x2019; EQUITY&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Equity Compensation Plans&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify;"&gt; &lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;The
            Tandy Leather Factory, Inc. 2013 Restricted Stock Plan (the &#x201c;2013 Plan&#x201d;) was adopted by our Board of Directors in January 2013 and approved by our stockholders in June 2013.&#160; The 2013 Plan initially reserved up to 300,000 shares of our common stock for restricted stock unit (&#x201c;RSU&#x201d;) awards to our executive officers, non-employee directors and other key
            employees.&#160; In June 2020, our stockholders approved an increase to the plan reserve to 800,000 shares of our common stock and
            extended the 2013 Plan through June 2023.&#160; Awards granted under the 2013 Plan may be service-based awards or performance-based awards and may be subject to a graded vesting schedule with a minimum vesting period of four years, unless otherwise determined by the Compensation Committee of the Board of Directors that administers the plan.&#160; In June 2022, as part of
            their annual director compensation, certain of our non-employee directors were granted a total of 14,000 service-based RSUs under
            the 2013 Plan, which will vest ratably over the next four years provided that the participant is still on the board on the vesting
            date. &lt;/span&gt; &lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;The Tandy Leather
            Factory, Inc. 2023 Incentive Stock Plan (the &#x201c;2023 Plan&#x201d;) was adopted by our Board of Directors in April 2023 and approved by our stockholders in June 2023.&#160; The 2023 Plan initially reserved up to 1,000,000 shares of our common stock for a variety of equity awards (including, but not limited to, RSUs, the only type of awards that have been granted to date) to our
            executive officers, non-employee directors and other key employees.&#160; In June 2023, as part of their annual director compensation, certain of our non-employee directors were granted a total of 12,993 service-based RSUs under the 2023 Plan, which will vest ratably over the next four years, subject to each participant&#x2019;s continues service on the board as of each vesting date.&#160; In October 2023, the Company granted to Ms. Carr a total of 276,000 service-based RSUs under the 2023 Plan, which will vest ratably over the next three years, subject to Ms. Carr&#x2019;s continued employment as of each vesting date.&lt;/div&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"&gt; &lt;br/&gt;
          &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;In addition to grants under the Company&#x2019;s equity compensation plans, in October 2018 we granted a total of 644,000 RSUs to the Company&#x2019;s Chief Executive Officer (&#x201c;CEO&#x201d;), of which (i) 460,000
          are service-based RSUs that vest ratably over a period of five years from the grant date based on our CEO&#x2019;s continued employment in
          her role, (ii) 92,000 are performance-based RSUs that will vest if the Company&#x2019;s operating income exceeds $12 million dollars two fiscal years in a row, and (iii) 92,000
          are performance-based RSUs that will vest if the Company&#x2019;s operating income exceeds $14 million dollars in one fiscal year.&#160; As of
          December 31, 2023, the Company has concluded that the performance conditions related to these performance-based RSUs was not achieved, and as a result no
          compensation expense related to these performance-based RSUs has been recorded.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;A summary of the activity for restricted stock and RSU awards is as follows:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold;" valign="bottom"&gt; Shares&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold;" valign="bottom"&gt; Weighted Average &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt; (in thousands) &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt; Share Price &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Balance, January 1, 2023&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;441&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;6.46&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Granted&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;290&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;4.25&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Forfeited&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(2&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;5.00&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Vested&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(106&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;6.51&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Balance, December 31, 2023&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;623&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;5.12&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Company&#x2019;s stock-based compensation relates to restricted stock and RSU awards.&#160; For these service-based awards, our stock-based compensation expense, included in
          operating expenses, was $0.8 million and $1.1
          million in 2023 and 2022, respectively.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;As of December 31, 2023, the Company has concluded it is not probable that the performance conditions related to the performance-based RSUs described above will be
          achieved, and as a result no compensation expense related to performance-based RSUs has been recorded.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;As of December 31, 2023, there was unrecognized compensation cost related to non-vested, service-based awards of $1.4 million which will be recognized over 3.1 weighted average
          years in each of the following years:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="width: 100%; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; margin-left: auto; margin-right: auto;"&gt;


  &lt;tr&gt;

    &lt;td colspan="4" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Unrecognized Expense&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 48%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;2024 &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;571&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 48%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;2025 &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;468&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 48%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;2026 &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;314&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 48%; padding-bottom: 2px; text-align: center; white-space: nowrap;" valign="bottom"&gt;2027
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;7 &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; text-align: center; width: 48%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,360&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We issue shares from authorized shares upon the lapsing of vesting restrictions on restricted stock and RSUs.&#160; In 2023 and 2022, we issued 108,796 and 140,277 shares,
          respectively net of shares withheld to pay participants&#x2019; income taxes, resulting from the vesting of restricted stock and RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="text-decoration: underline;"&gt;&lt;span style="font-weight: bold;"&gt;Share Repurchase Program&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;br/&gt;
            &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;On
            August 9, 2020, the Board of Directors approved a program to repurchase up to $5.0 million of its common stock between August 9, 2020
            and July 31, 2022.&#160; This program expired in July 2022.&#160; &lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;On August 8, 2022, the Board of Directors approved a new program to repurchase up to $5.0 million of the
              Company&#x2019;s common stock between that date and August 31, 2024.&#160; As of December 31, 2022 and December 31, 2023, $5.0 million
              remained available for repurchase under this new program.&lt;/span&gt;&lt;br/&gt;
          &lt;/span&gt; &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="background-color: rgb(255, 255, 255); margin-top: 0px; margin-bottom: 6pt; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; text-align: justify; text-transform: none;"&gt;On April 11, 2022, we entered into an agreement with&#160;two&#160;institutional shareholders of the Company to repurchase 359,500
            shares of our common stock, par value $0.0024 in a private transaction. The purchase price was $5.00 per share for a total of $1.8
            million. The closing of the repurchases took place on April 22, 2022, and these shares were subsequently cancelled. Prior to the repurchase, the shares represented approximately 4.2% of our outstanding common stock.&lt;/div&gt;

&lt;div style="margin-top: 0px; margin-bottom: 0pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt; text-align: justify;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"&gt;The direct share repurchase transactions were separately authorized by our Board of Directors and did not reduce the remaining amount authorized to be
              repurchased under the plans described above.&#160; In July 2022, the Company repurchased 600 shares of stock under the open market
              plan.&lt;/span&gt;&lt;/div&gt;
</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="c20130131_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_RangeAxis_MaximumMember"
      decimals="0"
      id="Fact_17134f34cc674bdfa81ea4d8b18a5317"
      unitRef="U002">300000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="c20200630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember"
      decimals="0"
      id="Fact_51b18c5c23f64f5fae2ba683ea04f671"
      unitRef="U002">800000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20230101to20231231_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_RangeAxis_MinimumMember"
      id="Fact_1175c2f35c6049fb83969e9f33c25d67">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20220601to20220630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember"
      decimals="0"
      id="Fact_7a50862489a249368b5a75167eeb03b0"
      unitRef="U002">14000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember"
      id="Fact_dcd6e557a3964a4794226b7ebab4ab23">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="c20230430_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_RangeAxis_MaximumMember"
      decimals="0"
      id="Fact_6087fedc15d644e892950dfb1dd6205b"
      unitRef="U002">1000000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20230601to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember"
      decimals="0"
      id="Fact_507aaa81fc914138883406e08ed46894"
      unitRef="U002">12993</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember"
      id="Fact_bb9ce71643804acaa2b387cf8c9b8ba8">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20231001to20231031_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"
      decimals="0"
      id="Fact_74969b62bbba4666bddd0882d51ae0cc"
      unitRef="U002">276000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"
      id="Fact_1003d3fd34c84582ad7f14c613465f5e">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20181001to20181031_AwardTypeAxis_RestrictedStockUnitsRSUMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"
      decimals="0"
      id="Fact_0622a4dafbfe49b78839d40bd5dcd676"
      unitRef="U002">644000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20181001to20181031_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"
      decimals="0"
      id="Fact_19d577b47ed04d649379cf8f1672ff8c"
      unitRef="U002">460000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"
      id="Fact_f01a14dcee18406db4b2e4a4e2074941">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20181001to20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheOneMember"
      decimals="0"
      id="Fact_7ce10eabcb0940e3a45471a8dcd25850"
      unitRef="U002">92000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <tlfa:SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome
      contextRef="c20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheOneMember"
      decimals="-6"
      id="Fact_3ee861c21b5a490aac5e46fff4e5f495"
      unitRef="U001">12000000</tlfa:SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20181001to20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheTwoMember"
      decimals="0"
      id="Fact_8cc6e2cf5b3a42f3bcc2fa4dbbf1641d"
      unitRef="U002">92000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <tlfa:SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome
      contextRef="c20181031_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember_VestingAxis_ShareBasedCompensationAwardTrancheTwoMember"
      decimals="-6"
      id="Fact_f5cd2256a5064c51acfdeb5b90bcf2c0"
      unitRef="U001">14000000</tlfa:SharebasedCompensationArrangementBySharebasedPaymentAwardMinimumOperatingIncome>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20230101to20231231_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember"
      decimals="0"
      id="Fact_cf3e1d902d2248fd8713ac42dbe8049a"
      unitRef="U001">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_6fe57f8ba10c4cd4bf37fed71d8b6773">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;A summary of the activity for restricted stock and RSU awards is as follows:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold;" valign="bottom"&gt; Shares&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold;" valign="bottom"&gt; Weighted Average &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt; (in thousands) &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="3" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt; Share Price &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Balance, January 1, 2023&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;441&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;6.46&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Granted&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;290&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;4.25&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Forfeited&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(2&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;5.00&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;Vested&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;(106&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;6.51&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Balance, December 31, 2023&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;623&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;5.12&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c20221231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="-3"
      id="Fact_07842993ba454af29090c5f231f28b84"
      unitRef="U002">441000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20221231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="2"
      id="Fact_b8cfc39e401d4c0c9a9e400ee3858f2e"
      unitRef="U003">6.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="-3"
      id="Fact_333921962041472abcbf040a2343dc70"
      unitRef="U002">290000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="2"
      id="Fact_9793edd8180e49b6a2f5c9f0081d86d1"
      unitRef="U003">4.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="-3"
      id="Fact_9e41aaf372244247a7b25f37adc278df"
      unitRef="U002">2000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="2"
      id="Fact_647e4662582c488282117687119e971c"
      unitRef="U003">5</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="-3"
      id="Fact_6f8290bca7224f49a3d5e67054244de9"
      unitRef="U002">106000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="2"
      id="Fact_a5c15eaa8ded4234a79ddff754863f27"
      unitRef="U003">6.51</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="-3"
      id="Fact_1e007551e4734b25bfaa496e630a8abc"
      unitRef="U002">623000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="2"
      id="Fact_bb10ec7935c04df5bc22a9f90c88e557"
      unitRef="U003">5.12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-5"
      id="Fact_00800d46214d4b22ab8fa3ff1cc11532"
      unitRef="U001">800000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20220101to20221231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-5"
      id="Fact_ce164d2153fc419cb11e37e7420de920"
      unitRef="U001">1100000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20230101to20231231_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember"
      decimals="0"
      id="Fact_d3d3aac396944f239081ae254f259dac"
      unitRef="U001">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_2ee59aae6bd248b3ac9f7063a6aa6684">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;As of December 31, 2023, there was unrecognized compensation cost related to non-vested, service-based awards of $1.4 million which will be recognized over 3.1 weighted average
          years in each of the following years:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="width: 100%; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-align: left; margin-left: auto; margin-right: auto;"&gt;


  &lt;tr&gt;

    &lt;td colspan="4" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Unrecognized Expense&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 48%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;2024 &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;571&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 48%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;2025 &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;468&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 48%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;2026 &lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0);"&gt;314&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 48%; padding-bottom: 2px; text-align: center; white-space: nowrap;" valign="bottom"&gt;2027
              &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;7 &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; text-align: center; width: 48%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,360&lt;/div&gt;
              &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-5"
      id="Fact_b9af15e8829149c09fd2eb7ea587ba7f"
      unitRef="U001">1400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="c20230101to20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      id="Fact_f1ca07200ac04429a2f2709cbd41ab72">P3Y1M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <tlfa:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths
      contextRef="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-3"
      id="Fact_4abf5b8ffefa431fb818738f940e98cd"
      unitRef="U001">571000</tlfa:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths>
    <tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears
      contextRef="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-3"
      id="Fact_a4a5cda127cd4223994206ab15383531"
      unitRef="U001">468000</tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears>
    <tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears
      contextRef="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-3"
      id="Fact_dfdbe2819cd5458aa419b6c286a80c25"
      unitRef="U001">314000</tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears>
    <tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears
      contextRef="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-3"
      id="Fact_789a1f13318f4f798e1c9ffc1d985c42"
      unitRef="U001">7000</tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="c20231231_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-3"
      id="Fact_b6bc7db37f08495eaf3d72d9aea9f24d"
      unitRef="U001">1360000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="0"
      id="Fact_9b3eaf5ef021482194bd0ab1f68ee90e"
      unitRef="U002">108796</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c20220101to20221231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="0"
      id="Fact_e3c57f34d5d44165820b98b67a45f55d"
      unitRef="U002">140277</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="c20200809_RangeAxis_MaximumMember_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"
      decimals="-5"
      id="Fact_1fe1276469cf43ea857396326ad5e605"
      unitRef="U001">5000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="c20220808_RangeAxis_MaximumMember_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"
      decimals="-5"
      id="Fact_cf498367ebcf49bfa9dc360d57b9e21d"
      unitRef="U001">5000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
      contextRef="c20231231_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"
      decimals="-5"
      id="Fact_bffa7ee0a5d145349e09682996e9f2d3"
      unitRef="U001">5000000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
      contextRef="c20221231_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"
      decimals="-5"
      id="Fact_16e0fa268a504562a7fa5813657add89"
      unitRef="U001">5000000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="c20220411to20220411_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"
      decimals="0"
      id="Fact_17ff5beb9c694aa283f64c1b826441fc"
      unitRef="U002">359500</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20220411_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"
      decimals="4"
      id="Fact_0ae205f051e94bf68282e000c429588e"
      unitRef="U003">0.0024</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:SharePrice
      contextRef="c20220411_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"
      decimals="2"
      id="Fact_135d00a025ce4c0fba99a55ece4faf94"
      unitRef="U003">5</us-gaap:SharePrice>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20220411to20220411_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"
      decimals="-5"
      id="Fact_e0f07b4df6784ade8dbec29af7214884"
      unitRef="U001">1800000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <tlfa:PercentageOfCommonStockOutstanding
      contextRef="c20220410_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"
      decimals="3"
      id="Fact_d5137ebdedd7479081ef2248ba2e7ba1"
      unitRef="U007">0.042</tlfa:PercentageOfCommonStockOutstanding>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="c20220701to20220731_ShareRepurchaseProgramAxis_ShareRepurchaseProgramMember"
      decimals="0"
      id="Fact_c62d9fa3a4a84fee82d5de871db680c6"
      unitRef="U002">600</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <ecd:NonRule10b51ArrTrmntdFlag
      contextRef="c20231001to20231231"
      id="Fact_f7ecccfdfd4e4a3680677131f7df0e40">false</ecd:NonRule10b51ArrTrmntdFlag>
    <ecd:Rule10b51ArrTrmntdFlag
      contextRef="c20231001to20231231"
      id="Fact_6c49d998f21d4b7d8b4f3912f7591a05">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:Rule10b51ArrAdoptedFlag
      contextRef="c20231001to20231231"
      id="Fact_b1d3bca7adf04a1e91cf9220f6d1d57c">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag
      contextRef="c20231001to20231231"
      id="Fact_3752a024056c4934a976121dbade3847">false</ecd:NonRule10b51ArrAdoptedFlag>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#Fact_8df56d5cd4bf4ea989c12015a0670a4f"
          xlink:label="Fact_8df56d5cd4bf4ea989c12015a0670a4f"
          xlink:type="locator"/>
        <link:footnote id="Foot_009a4a80a1ae483fb2b7b892030c3176" xlink:label="Foot_009a4a80a1ae483fb2b7b892030c3176" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">For the years ended December 31, 2023 and 2022, there were 65,075 and 90,748 shares,
          respectively, excluded from the diluted EPS calculation because the impact of their assumed vesting would be anti-dilutive.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_8df56d5cd4bf4ea989c12015a0670a4f"
          xlink:to="Foot_009a4a80a1ae483fb2b7b892030c3176"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_5dcc0f8de60c4e1bbeb75cb11d297bdc"
          xlink:label="Fact_5dcc0f8de60c4e1bbeb75cb11d297bdc"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_5dcc0f8de60c4e1bbeb75cb11d297bdc"
          xlink:to="Foot_009a4a80a1ae483fb2b7b892030c3176"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_37be379fe1374d12a515ceb410149b30"
          xlink:label="Fact_37be379fe1374d12a515ceb410149b30"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_37be379fe1374d12a515ceb410149b30"
          xlink:to="Foot_009a4a80a1ae483fb2b7b892030c3176"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_6cdfe11d126d4d1e8ef4e43a122aea7e"
          xlink:label="Fact_6cdfe11d126d4d1e8ef4e43a122aea7e"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_6cdfe11d126d4d1e8ef4e43a122aea7e"
          xlink:to="Foot_009a4a80a1ae483fb2b7b892030c3176"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_ff1898a55372465ba9093ae4f37d1c0d"
          xlink:label="Fact_ff1898a55372465ba9093ae4f37d1c0d"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_ff1898a55372465ba9093ae4f37d1c0d"
          xlink:to="Foot_009a4a80a1ae483fb2b7b892030c3176"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_4ec8663e4dcf4082813211b1a01c5d2a"
          xlink:label="Fact_4ec8663e4dcf4082813211b1a01c5d2a"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_4ec8663e4dcf4082813211b1a01c5d2a"
          xlink:to="Foot_009a4a80a1ae483fb2b7b892030c3176"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_f8ad39189f7643f7aa93d73a4950f192"
          xlink:label="Fact_f8ad39189f7643f7aa93d73a4950f192"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_f8ad39189f7643f7aa93d73a4950f192"
          xlink:to="Foot_009a4a80a1ae483fb2b7b892030c3176"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_0f93f93a199c462a913650dd69b6cca3"
          xlink:label="Fact_0f93f93a199c462a913650dd69b6cca3"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_0f93f93a199c462a913650dd69b6cca3"
          xlink:to="Foot_009a4a80a1ae483fb2b7b892030c3176"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_5071ea73c763433fb4d860bd5a65b10a"
          xlink:label="Fact_5071ea73c763433fb4d860bd5a65b10a"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_5071ea73c763433fb4d860bd5a65b10a"
          xlink:to="Foot_009a4a80a1ae483fb2b7b892030c3176"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_6732701e0f7445938fbbdd947b42d5bb"
          xlink:label="Fact_6732701e0f7445938fbbdd947b42d5bb"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_6732701e0f7445938fbbdd947b42d5bb"
          xlink:to="Foot_009a4a80a1ae483fb2b7b892030c3176"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_3876ad0c331343699155a9ee48dfd13f"
          xlink:label="Fact_3876ad0c331343699155a9ee48dfd13f"
          xlink:type="locator"/>
        <link:footnote id="Foot_2c869902f56542bdb090045adf6c52f6" xlink:label="Foot_2c869902f56542bdb090045adf6c52f6" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Variable lease cost includes payment for certain real
            estate taxes, insurance, common area maintenance, and other charges related to lease agreements, which are not included in the measurement of the operating lease liabilities.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_3876ad0c331343699155a9ee48dfd13f"
          xlink:to="Foot_2c869902f56542bdb090045adf6c52f6"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_a3b952f0d5044b4cbbc5d97f6c36846c"
          xlink:label="Fact_a3b952f0d5044b4cbbc5d97f6c36846c"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_a3b952f0d5044b4cbbc5d97f6c36846c"
          xlink:to="Foot_2c869902f56542bdb090045adf6c52f6"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
